美文网首页
R进阶:缺失值的处理、拟合关系

R进阶:缺失值的处理、拟合关系

作者: wo_monic | 来源:发表于2020-08-06 11:08 被阅读0次

缺失值的处理

1.使用中位数或者均值(非数值时使用众数)来填补缺失值

x <- c(1,2,7,8,NA,10,22,NA,15,NA,9)
y <-c('a',NA,'b',NA,'b','a','a','b','a','c','d')
df <- data.frame(x, y)
df
x_mean <- mean(x,na.rm = TRUE)
x_mean #x的平均值
x_median <- median(x, na.rm = TRUE)
x_median  #x的中位数
y_mode <- as.character(y[which.max(table(y))])
y_mode   #y的众数
df2 <- replace_na(data = df, replace = list(x = x_mean, y = y_mode))
df2  #使用x的均值,y的众数,来填充缺失值。

2.使用随机数
3.使用mice包多重填补法补充数据

1)mice()函数从一个含缺失值的数据框开始,返回一个包含多个完整数据集对象(默认可以模拟参数5个完整的数据集);

2)with()函数可依次对每个完整数据集应用统计建模;

3)pool()函数将with()生成的单独结果整合到一起。

随机数的生成方法

set.seed(12138)
x1 <- runif(n = 1000, min = 1, max = 15) #runif生成均匀分布随机数,n指定数量,min最小值,max最大值
x2 <- rnorm(n = 1000,mean = 10,sd=5) + 10 #rnorm生成正态随机数 ,n数量,mean正态分布的均值,sd正态分布的标准差
x3 <- rt(n = 1000, df = 3) #T测验随机数
x4 <- rf(n = 1000, df1 = 2, df2 = 3) #F测验随机数
x5 <- rpois(n= 1000,lambda=5) #泊松分布的随机数
x6 <- rbinom(n=1000,size=100,prob=0.75) #二项分布随机数 rbinom是生成二项分布,即正面/反面这样,n是生成的数量,size是实验次数,prob是指定概率。

模拟1000次抛硬币,coin <- rbinom(n=1000,size=1,prob=0.5)

y <- 2*x1 - 0.3*x2 + 0.6*x3 - 1.2*x4 + rexp(1000,rate=1)#rexp(1000,rate=1)生成指数分布的随机数1000个

将NA赋值给指定列的随机生成的行的值

miss.df是一个数据框
miss.df[sample(1:nrow(miss.df), 40),1] <- NA
sample(1:nrow(miss.df), 40)是生成随机的1到行数(1000)之间的随机的40个数
后面的1是指定第一列

library(mice)
im <- mice(data = miss.df, m = 10,maxit = 6, method = 'pmm') #m是多重插补的次数,maxit是设置获取完整数据集的个数,method是预测方法,pmm使用平均值预测
fit <- with(data = im, expr = lm(y ~ x1 + x2 + x3 + x4+x5+x6))
pooled <- pool(object = fit)
summary(pooled)
lm.fit <- lm(y ~ x1 + x2 + x3 + x4+x5+x6, data = miss.df)
summary(lm.fit)

关于拟合关系,参考https://zhuanlan.zhihu.com/p/51533928

y~x1 + x2 + x3 + x4+x5+x6
是一个拟合关系,y是因变量,x1,x2,x3,x4,x5,x6是自变量,~代表存在函数关系。此处的x1,x2,x3,x4,x5,x6之间不是传统意义的加法运算,而是表示每一个都是一个自变量。
~之后的符号的含义:

  • +表示添加新的变量
  • -表示移除一个变量
  • :表示相互作用
  • *表示交叉
  • %in%表示套叠
  • ^表示对交叉进行限制

lm()是拟合线性模型,可用于回归分析,单因素方差分析,协方差分析

相关文章

  • R进阶:缺失值的处理、拟合关系

    缺失值的处理 1.使用中位数或者均值(非数值时使用众数)来填补缺失值 2.使用随机数3.使用mice包多重填补法补...

  • R 缺失值处理

    处理方法:常规方法 由mape(Mean absolute percentage error,平均绝对百分比误差)...

  • 缺失值的处理

    缺失值的处理 Imputing Missing Data with R; MICE packageImputing...

  • R语言缺失值、异常值和重复值的识别与处理

    一、缺失值 1. 缺失值的识别和处理 缺失值存在的影响:无法进行求均值、求和等运算。(一般这些函数中都会有na.r...

  • R语言缺失值处理

    {因为文章好,所以转载!!}R语言缺失值处理 2016-08-23 05:17砍柴问樵夫 数据缺失有多种原因,而大...

  • 数据缺失值处理 -- R

    转载https://blog.csdn.net/yyykkklll123/article/details/8386...

  • R语言实战考卷 第四章

    本章要点 R储存缺失值和日期的方式; 处理缺失值和日期的方式 对象的数据类型;转换数据类型;(控制流if-then...

  • Series第五讲 缺失值处理

    Series第五讲 缺失值处理 本节课将讲解如何处理pandas里的缺失值 缺失值处理 Series.fillna...

  • R语言-06.1缺失值处理

    删除NA 用某个值填充 1.NA处理成0 2.用平均值填充 NA与NAN NA代表当数据不可得到或者丢失 NAN代...

  • R数据数据缺失值处理

    处理缺失值的步骤一般为: 识别缺失值 补全个案或删除个案 个案、行都是指代一个意思 识别缺失值 识别缺失值的方法很...

网友评论

      本文标题:R进阶:缺失值的处理、拟合关系

      本文链接:https://www.haomeiwen.com/subject/xqforktx.html