
如果数据中有NA存在,表示这个位置数据遗失,不能进行值的类型描述。也不能用函数来计算,需要计算是可以加上na.rm=T表示忽略NA,但是这个位置并没有去除,使用length可以看到。
> x<-c(10,20,30,NA)
> x
[1] 10 20 30 NA
> mean(x)
[1] NA
> mean(x,na.rm=T)
[1] 20
> length(x)
[1] 4
> x<-c(10,20,30,NA)
> x
[1] 10 20 30 NA
> na.fail(x) #判断至少存在一个NA则返回错误
Error in na.fail.default(x) : 对象里有遺漏值
> na.omit(x) #返回删除NA后的向量
[1] 10 20 30
attr(,"na.action")
[1] 4
attr(,"class")
[1] "omit"
> is.na(x) #判断向量或矩阵或是数据框中的NA
[1] FALSE FALSE FALSE TRUE
> x[!is.na(x)]#!与is.na()配合使用除去NA
[1] 10 20 30