千家信息网

如何理解R语言中的缺失值

发表于:2024-10-18 作者:千家信息网编辑
千家信息网最后更新 2024年10月18日,这期内容当中小编将会给大家带来有关如何理解R语言中的缺失值,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。大部分统计方法都假定处理的是完整向量、矩阵、数据框,但是在大
千家信息网最后更新 2024年10月18日如何理解R语言中的缺失值

这期内容当中小编将会给大家带来有关如何理解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语言中的缺失值了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

0