【问题标题】:Delete column with NAs in first row删除第一行带有 NA 的列
【发布时间】:2016-01-03 18:26:10
【问题描述】:

如果我有这样的数据框

a <- c(NA,1,2,NA,4)
b <- c(6,7,8,9,10)
c <- c(NA,12,13,14,15)
d <- c(16,NA,18,NA,20)
df <- data.frame(a,b,c,d)

如何通过要求 R 删除第一行中包含 NA 的列来删除列“a”和“c”?

我的实际数据集要大得多,这只是一个可重复的示例。

请注意,这与要求删除其中包含任何 NA 的列不同。我的列中可能有其他 NA 值。我希望只删除第一行中带有 NA 的那些。

【问题讨论】:

    标签: r


    【解决方案1】:

    您可以使用布尔向量来指示在这种情况下是否缺少第一行。

    res <- df[,!is.na(df[1,])]
    
    > res
       b  d
    1  6 16
    2  7 NA
    3  8 18
    4  9 NA
    5 10 20
    

    【讨论】:

      猜你喜欢
      • 2019-11-14
      • 1970-01-01
      • 1970-01-01
      • 2016-10-17
      • 2017-05-04
      • 2021-04-17
      • 2022-01-16
      • 2018-10-21
      • 1970-01-01
      相关资源
      最近更新 更多