缺失值NA
在R中,NA表示缺失值,NA是不可用,not available的简称,用来存储缺失信息
缺失值NA表示没有,并不一定就是0,NA是不知道是多少,也可以是0,也可以是任何值,缺失值和0 是完全不同的。
1. 处理mean,sum等常规统计函数中的缺失值出现的问题:添加参数na.rm=T
> x <- c(NA,1:20,NA,NA,34:35)
> x
[1] NA 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 NA NA 34 35
> sum(x)
[1] NA
> sum(x,na.rm = TRUE)
[1] 279
2. 判断元素中是否含有缺失值:is.na()函数
> is.na(x)
[1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
[23] TRUE FALSE FALSE
3. 计算每一列/每一行的缺失值数,用sleep数据集
sleep数据集引用之前需要先下载程序包VIM(需要下载很久)
> install.packages("VIM")
> library(VIM)
载入需要的程辑包:colorspace
载入需要的程辑包:grid
VIM is ready to use.
Suggestions and bug-reports can be submitted at: https://github.com/statistikat/VIM/issues
载入程辑包:‘VIM’
The following object is masked from ‘package:datasets’:
sleep
> sleep
BodyWgt BrainWgt NonD Dream Sleep Span Gest Pred Exp Danger
1 6654.000 5712.00 NA NA 3.3 38.6 645.0 3 5 3
2 1.000 6.60 6.3 2.0 8.3 4.5 42.0 3 1 3
3 3.385 44.50 NA NA 12.5 14.0 60.0 1 1 1
4 0.920 5.70 NA NA 16.5 NA 25.0 5 2 3
5 2547.000 4603.00 2.1 1.8 3.9 69.0 624.0 3 5 4
6 10.550 179.50 9.1 0.7 9.8 27.0 180.0 4 4 4
7 0.023 0.30 15.8 3.9 19.7 19.0 35.0 1 1 1
8 160.000 169.00 5.2