文章目录
缺失值的识别
- 缺失值表示:
NA
,代表not available is.na()
:返回与输入对象相同格式的对象,其中元素为逻辑值,若原对象该位置元素为缺失值,返回TRUE,否则返回FALSEtable(is.na())
:返回输入对象缺失值与有效值的统计
举例如下:
> M
ID sex age score
1 1 1 15 80
2 2 2 NA 90
3 3 1 12 95
4 4 1 12 95
5 5 NA 13 98
> is.na(M) # 返回与M格式完全相同的对象,不过元素被替换成了表征是否为缺失值的逻辑值
ID sex age score
[1,] FALSE FALSE FALSE FALSE
[2,] FALSE FALSE TRUE FALSE
[3,] FALSE FALSE FALSE FALSE
[4,] FALSE FALSE FALSE FALSE
[5,] FALSE TRUE FALSE FALSE
> table(is.na(M)) # 统计M缺失值的数目
FALSE TRUE
18 2
缺失值的忽略
在计算中忽略缺失值:na.rm=TRUE
- 若不特别声明,含缺失值的对象计算统计函数将会返回
NA
- 在统计函数中增加忽略缺失值的声明
na.rm=TRUE
,将会返回忽略缺失值后的结果
> mean(M$age)
[1] NA
> mean(M$age,na.rm = TRUE)
[1] 13
- 特别地,
summary()
函数汇总变量信息时会自动忽略缺失值,并给出缺失值数目
> summary(M)
ID sex age score
Min. :1 Min. :1.00 Min. :12.0 Min. :80.0
1st Qu.:2 1st Qu.:1.00 1st Qu.:12.0 1st Qu.:90.0
Median :3 Median :1.00 Median :12.5 Median :95.0
Mean :3 Mean :1.25 Mean :13.0 Mean :91.6
3rd Qu.:4 3rd Qu.:1.25 3rd Qu.:13.5 3rd Qu.:95.0
Max. :5 Max. :2.00 Max. :15.0 Max. :98.0
NA's :1 NA's :1
删除变量存在缺失值的个案:na.omit()
na.omit()
:当输入为数据框对象时,删除任意变量取值存在缺失值的个案
> M