如何找到向量中缺失值的位置

How to find position of missing values in a vector

R 语言有哪些功能可以在数据框中查找缺失值,或者至少如何知道数据框是否存在缺失值?

x = matrix(rep(c(NA, 1,NA), 3), ncol=3, nrow=3)
print(x)
     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]    1    1    1
[3,]   NA   NA   NA

布尔值矩阵:是数值NA

is.na(x)
      [,1]  [,2]  [,3]
[1,]  TRUE  TRUE  TRUE
[2,] FALSE FALSE FALSE
[3,]  TRUE  TRUE  TRUE

NA 值的索引:

which(is.na(x), arr.ind = T)
     row col
[1,]   1   1
[2,]   3   1
[3,]   1   2
[4,]   3   2
[5,]   1   3
[6,]   3   3

查看矩阵是否有缺失值:

any(is.na(x))
TRUE

根据您给出的示例很难判断,有关 "data" 结构的更多详细信息会有所帮助,但是,如果您只是想排除数据的任何观察(行)在其中的任何地方都有缺失值,请尝试:

cleanDat <- na.omit(data)

请注意,有一个很好的 tutorial on missing data,这是我确认我有这个权利的地方。