【问题标题】:How to find position of missing values in a vector如何在向量中找到缺失值的位置
【发布时间】:2015-04-07 23:09:45
【问题描述】:

R 语言有哪些特征可以找到数据框中的缺失值,或者至少,如何知道数据框有缺失值?

【问题讨论】:

  • ?NA下的全部
  • data[is.na(data),]
  • 我正确地假设 anyNA(x) 将返回 TRUE 只有如果 x 包含缺失值?
  • @validoll is.na(data) 将为您提供一个逐列大小的真假矩阵...传递给[ 的行参数是一件糟糕的(荒谬的)事情。
  • 而且,@validoll 您不必假设,您还可以阅读文档:“通用函数anyNA 实现any(is.na(x))

标签: r na missing-data


【解决方案1】:
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

【讨论】:

    【解决方案2】:

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

    cleanDat <- na.omit(data)
    

    请注意,有一个很好的tutorial on missing data,我在其中确认我有这个权利。

    【讨论】:

      猜你喜欢
      • 2020-07-03
      • 1970-01-01
      • 2020-05-30
      • 2023-03-16
      • 2017-08-29
      • 1970-01-01
      • 2019-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多