R语言缺失值的处理——回归预测法

 时间:2024-10-21 11:17:05

1、读取数据。library(foreign) #加载程序包stu_data_na=read.spss(file="stu_data_na.sav",to.data.frame=TRUE)head(stu_data_na) #查看数据前几行

R语言缺失值的处理——回归预测法

2、查看数据集缺岳赎祝浦失情况。dim(stu_data_na) #查看数据维度sum(complete.cases(stu_data_na)) #查看完整数据条数librar烤恤鹇灭y(mice) #加载mice包md.pattern(stu_data_na) #利用函数md.pattern查看数据缺失情况结果中的1表示无缺失,0表示有缺失。可以看到stu_data_na数据集共有26条完整数据,x1、x2两个变量中,x1是无缺失数据的,x2有8个缺失值。

R语言缺失值的处理——回归预测法
R语言缺失值的处理——回归预测法

3、下面利用回归预测方法插补筐毙险裆变量x2的缺失值。首先,将x2完整和有缺失的数据分开。stu_1=which(is.na(stu_data_na[,4])==TRUE) #返回stu_data_na中第4列为缺失的行,也就是x2为空的行stu_data_com1=stu_data_na[-stu_1,] #选取x2不为空的行head(stu_data_com1)stu_data_fill1=stu_data_na[stu_1,] #选取x2为空的行head(stu_data_fill1)

R语言缺失值的处理——回归预测法

4、建立x2、x1的回归模型。lm=lm(x2~x1,data=stu_data_com1) #其中x1为自变量,x2为因变量summary(lm)从结果中可以看出,回归模型是显著的。x1和x2具有一定的线性关系。因此利用回归模型来填补缺失值是可行的。

R语言缺失值的处理——回归预测法

5、stu_data_fill1[,4]=round(predict(lm,stu_data_fill1)) #将x2的缺失值用非缺失值的回归模型预测结果来替代stu_data_fill1 #查看已经补全的数据

R语言缺失值的处理——回归预测法

6、stu_data_new=rbind(stu_data_com1,stu_data_fill1)#将填补了缺失值的数据与完整数据合并得到最终的数据集。head(stu_data_new) #查看新的数据集dim(stu_data_new)缺失值插补完成。

R语言缺失值的处理——回归预测法
  • 【SPSS】SPSS概述——初步了解SPSS软件(1)
  • 【SPSS软件】生成分析文件并保存数据及结果
  • 卡方分析结果怎么看?
  • NoteExpress如何安装与使用?
  • spss软件导入excel数据导入不了的解决办法
  • 热门搜索
    手抄报我的中国梦 最漂亮普通话手抄报 好书伴我行手抄报 我的寒假我做主手抄报 我爱文学手抄报图片 我爱校园手抄报 清明节祭奠英烈手抄报 关于祖国在我心中的手抄报 清明祭奠英烈手抄报 语文手抄报大全