R语言学习笔记:缺失值的判断与处理
2018-01-24 14:24
309 查看
1.判断缺失值
函数:is.na(),返回值为逻辑值,TRUE代表缺失,否则为FALSE。
函数:complete.cases(),返回值为逻辑值,与is.na()相反,FASLE代表缺失,否则为TRUE。
2.判断缺失模式
函数:md.pattern():属于mice包,返回值为数据表,结果中“1”代表没有缺失值,“0”代表存在缺失值。第一列的值代表符合其后的每一行缺失情况的样本数,例如:
表示有4个样本缺少了x3变量的值。
最后一列表示缺失的变量数;最后一行表示含每个变量缺失值的观测值数目之和。
函数:aggr():属于VIM包,可以根据返回的图像判断缺失情况。函数结构:
x代表要判断的向量、矩阵或数据框;delimiter用于区分插补变量,在判断缺失模式中,参数默认忽略;plot为逻辑值,判断是否绘制图形。
3.缺失数据的处理
(1)删除缺失样本
可以通过complete.cases()和is.na()进行筛选。
可以使用函数na.omit()直接删除缺失值。
(2)替换缺失值
通过给缺失值赋值,替换缺失值。
(3)多重插补法
FSC方法:通过mice包的mice()函数可以实现。
首先,进行随机模拟完整数据集,存入imp(可以随意替换名称)中,再对imp进行线性回归
根据汇总的线性系数,计算出缺失值,填补到缺失数据中。
函数:is.na(),返回值为逻辑值,TRUE代表缺失,否则为FALSE。
函数:complete.cases(),返回值为逻辑值,与is.na()相反,FASLE代表缺失,否则为TRUE。
2.判断缺失模式
函数:md.pattern():属于mice包,返回值为数据表,结果中“1”代表没有缺失值,“0”代表存在缺失值。第一列的值代表符合其后的每一行缺失情况的样本数,例如:
x1 | x2 | x3 | |
4 | 1 | 1 | 0 |
最后一列表示缺失的变量数;最后一行表示含每个变量缺失值的观测值数目之和。
函数:aggr():属于VIM包,可以根据返回的图像判断缺失情况。函数结构:
aggr(x,delimter = NULL,plot = TRUE,...)
x代表要判断的向量、矩阵或数据框;delimiter用于区分插补变量,在判断缺失模式中,参数默认忽略;plot为逻辑值,判断是否绘制图形。
3.缺失数据的处理
(1)删除缺失样本
可以通过complete.cases()和is.na()进行筛选。
可以使用函数na.omit()直接删除缺失值。
(2)替换缺失值
通过给缺失值赋值,替换缺失值。
(3)多重插补法
FSC方法:通过mice包的mice()函数可以实现。
首先,进行随机模拟完整数据集,存入imp(可以随意替换名称)中,再对imp进行线性回归
imp = mice(data, seed=...) #data为数据,seed为设置的随机种子 fit = with(imp,lm()) #根据要插补的变量,对imp进行线性回归,例如缺失值为x1,用x2和x3预测,则lm(x1~x2+x3) pooled=pool(fit) #用pool函数汇总回归结果
根据汇总的线性系数,计算出缺失值,填补到缺失数据中。
相关文章推荐
- [原创]java WEB学习笔记69:Struts2 学习之路-- 消息处理与国际化,概述,配置国际资源文件,访问国际化消息,通过超链接切换语言
- python3.4学习笔记(二) 类型判断,异常处理,终止程序
- Go语言学习笔记 --- 控制语句之if判断,循环语句for, switch语句和跳转语句
- iOS 学习笔记六 【APP中的文字和APP名字的国际化多语言处理】
- Perl语言学习笔记 9 正则表达式处理文本
- C语言学习笔记 lesson17 字符串处理函数之fgets与gets
- python语言学习笔记(二)------判断输入密码强弱
- IOS学习笔记 - NSFileManager,沙盒路径,NSString类路径处理,NSCache,读取文件头判断图片类型
- Java语言异常处理学习笔记
- go语言学习笔记(10) 错误处理
- R语言实战笔记--第十五章 处理缺失数据
- 函数封装的传参、判断处理—— JS学习笔记2015-6-29(第70天)
- R语言实战笔记--第十五章 处理缺失数据
- 【OpenCV学习笔记】【错误处理】计算机缺失MSVCP120D.dll
- 【数据挖掘与R语言笔记】预测海藻数量(一)观察数据和处理数据缺失
- Perl语言学习笔记 9 正则表达式处理文本
- swift语言的学习笔记四-2(对上一节有些遗留进行处理)
- 【es学习笔记】对语言进行处理
- 学习笔记(C#控制台输出判断(yes/no))
- Python学习笔记(1):图片处理