数据分析中R语言缺失值的判断和处理方法有哪些?
2020-07-17
4100
R语言是一种用来进行数据分析、绘图的解释型语言。而我们在数据分析过程中会遇到许多缺失值,我们必须对这些缺失值进行处理,才能更好地进行下一步工作。今天小编跟大家分享R语言缺失值的判别和处理方法,希望对大家研究和学习R语言有帮助。
一、R语言中的缺失值NA
在R语言中通常用NA来表示缺失值,NA表示数据集中,该数据遗失、不存在。在针对具有NA的数据集进行函数操作的时候,不会直接剔除这个NA。
二、R语言识别缺失值
NA:代表缺失值;
NaN:代表不可能的值;
Inf:代表正无穷;
-Inf:代表负无穷。
is.na():识别缺失值;
is.nan():识别不可能值;
is.infinite():无穷值。
is.na()、is.nan()和is.infinte()函数的返回值示例
列表显示缺失值:
> library(mice)
> data(sleep,package="VIM")
> md.pattern(sleep)
三、R语言探索缺失值模式
在R语言中是利用mice包中的md.pattern函数来探索缺失值模式的。
library(mice)
md.pattern(sleep)
通过上图,我们可以看出:左边图能够显示出每个变量中含缺失值得个数,右边图能够显示出变量组合的缺失值个数
四、R语言缺失值处理
1.如果缺失数据较少时,可以直接删除相应样本
删除缺失数据样本的前提为:缺失数据的比例较少,并且缺失数据是随机出现的,这种情况下,删除缺失数据之后对于分析结果的影响不是很大。
2.对缺失数据进行插补
(1)如果满足正态分布,用平均值进行填补;
(2)如果偏态分布或者离群值的分,布用中位数进行填补。
注意:均值或中位数来代替缺失值,其优点在于不会减少样本信息,处理简单。但是缺点在于当缺失数据不是随机出现时会产成偏误。
(3)多重插补是通过变量间关系来预测缺失数据,利用蒙特卡罗方法生成多个完整数据集,再对这些数据集分别进行分析,最后对这些分析结果进行汇总处理。能够用mice包实现。
3.利用对缺失数据不敏感决策树等分析方法