【问题标题】:Is there a R function to remove columns that only have missing values? [duplicate]是否有一个 R 函数来删除只有缺失值的列? [复制]
【发布时间】:2020-07-07 00:50:38
【问题描述】:

我的数据框中大约有 1000 多列,其中只有 NA 值。 R 中是否有一个函数可以删除始终具有 NA 值的列?

【问题讨论】:

  • 找不到重复项。这是一个自我宣传评论:mde::drop_na_if(airquality,sign="eq",percent_na=100) 我写的mde 中存在complete.casesdrop_na(tidyr) 等更简单的方法。

标签: r tidyr data-manipulation


【解决方案1】:

不是一个功能,而是

df[,colSums(apply(df,2,is.na))<nrow(df)]

【讨论】:

  • 你可以通过使用df[colMeans(is.na(df)) != 1]来避免apply()
【解决方案2】:
d <- data.frame(a = c(NA, rep(1, 9)),
                b = rep(NA, 10))

d[vapply(d, function(x) all(!is.na(x)), logical(1))]

【讨论】:

  • 为什么a 被删除了?
  • 虽然这段代码可能会解决问题,但一个好的答案还应该解释它的作用以及它如何提供帮助?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 2019-07-18
  • 2021-12-15
  • 2020-05-09
  • 2020-02-02
相关资源
最近更新 更多