> is.na(c(1,2,3,NA,'sdas'))
[1] FALSE FALSE FALSE TRUE FALSE
# 我们可以直接用which 获取TRUE 所在的index
但是,这个函数并不能很好的使用在数据框中...其会返回一个矩阵,对应的缺失值会在对应位置返回一个TRUE,如果这时候通过which 获取,其只会返回一个坐标,这是因为数据框经过is.na 后返回一个矩阵,而矩阵的坐标关系和向量又非常的微妙,其本质也就是向量的不同的排列...我们都知道,布尔值实际就是0和1,我们可以利用这个特性,获得那些经过is.na 后,行和不是0 的行,那就代表其存在表示TRUE(NA)的数据了:
> rcmat[!...会直接返回一个去除NA 所在行的新向量或数据框:
> a=na.omit(c(1,2,3,NA,'sdas'))
> a
[1] "1" "2" "3" "sdas"
attr(,"na.action...drop_na()
效果和na.omit 一样,但是高级之处在于,其可以指定列,对数据框某列存在NA 的行直接删除:
> X[2,2] = NA;X[6,1] = NA
> X
X1 X2
1