这期内容当中小编将会给大家带来有关如何理解R语言中的缺失值,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
大部分统计方法都假定处理的是完整向量、矩阵、数据框,但是在大多数情况下,在处理真实数据之前 不得不消除缺失值数据:(1)删除含有缺失值的实例;(2)用合理的值替代缺失值。缺失值的处理主要用VIM和mice函数
VIM包提供哺乳动物数据(sleep),研究62种动物的睡眠、生物学变量和体质变量是自变量或预测变量。
睡眠变量包含睡眠中做梦时长(Dream)、不做梦的时长(NonD)以及它们的和(Sleep)。体质变量包括体重 (BodyWgt,单位为千 )、脑重 (BrainWgt,单位为 )、寿命 (Span,单位为年)和妊娠期(Gest,单位为天)。生物学变量包含物种被捕食的程度(Pred)、睡眠时暴露的程度 (Exp)和面临的总危险程度(Danger)
处理缺失值的方法:
R语言中使用NA代表缺失值,NaN(不是一个数)代表不可能的值,符号Inf和-Inf代表正无穷和负无穷,函数is.na、is.nan()和is.infinite()分别识别缺失值、不可能值和无穷值,返回结果是TRUE或FALSE
> install.packages(c("VIM","mice"))
> data(sleep,package="VIM")
> sleep[complete.cases(sleep),]#列出没有缺失值的行
此处省略一万字.......
>sleep[complete.cases(sleep),]
BodyWgt BrainWgt NonD Dream Sleep Span Gest Pred Exp Danger
1 6654.000 5712.0 NA NA 3.3 38.6 645 3 5 3
3 3.385 44.5 NA NA 12.5 14.0 60 1 1 1
4 0.920 5.7 NA NA 16.5 NA 25 5 2 3
13 0.550 2.4 7.6 2.7 10.3 NA NA 2 1 2
14 187.100 419.0 NA NA 3.1 40.0 365 5 5 5
19 1.410 17.5 4.8 1.3 6.1 34.0 NA 1 2 1
20 60.000 81.0 12.0 6.1 18.1 7.0 NA 1 1 1
21 529.000 680.0 NA 0.3 NA 28.0 400 5 5 5
24 207.000 406.0 NA NA 12.0 39.3 252 1 4 1
26 36.330 119.5 NA NA 13.0 16.2 63 1 1 1
30 100.000 157.0 NA NA 10.8 22.4 100 1 1 1
31 35.000 56.0 NA NA NA 16.3 33 3 5 4
35 0.122 3.0 8.2 2.4 10.6 NA 30 2 1 1
36 1.350 8.1 8.4 2.8 11.2 NA 45 3 1 3
41 250.000 490.0 NA 1.0 NA 23.6 440 5 5 5
47 4.288 39.2 NA NA 12.5 13.7 63 2 2 2
53 14.830 98.2 NA NA 2.6 17.0 150 5 5 5
55 1.400 12.5 NA NA 11.0 12.7 90 2 2 2
56 0.060 1.0 8.1 2.2 10.3 3.5 NA 3 1 2
62 4.050 17.0 NA NA NA 13.0 38 3 1 1
> sum(is.na(sleep$Dream))#表明变量Dream有12个缺失值
[1] 12
> mean(is.na(sleep$Dream))#表19%比例在此变量上有缺失值[1] 0.1935484
> mean(!complete.cases(sleep))#数据集中32%实例有一个或多个缺失值
[1] 0.3225806
对于缺失值,必须牢记complete.cases()函数仅NA和NAN缺失值识别,Inf和-Inf无穷值呗当作有效值;必须使用缺失值函数来识别数据对象中缺失值,比如mydata==NA的逻辑是无法实现的。
上述就是小编为大家分享的如何理解R语言中的缺失值了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。