【问题标题】:extracting identifiers from row observations从行观察中提取标识符
【发布时间】:2025-11-30 18:05:02
【问题描述】:

我想从具有 NA 的行中提取特定元素,特别是 ID。这是我的df:

df
ID          x
1-12        1
1-13        NA 
1-14        3
2-12        20
3-11        NA

我想要一个数据框,其观测值的 ID 为 NA,如下所示:

df
ID          x
1-13        NA 
3-11        NA

我试过这个,但它给了我一个数据框,其中包含具有 NA 的行 #s(例如,第 2 行、第 5 行),而不是 ID。

df1 <- data.frame(which(is.na(df$x)))

有人可以帮忙吗?

【问题讨论】:

    标签: r dataframe subset


    【解决方案1】:

    这是一个非常基本的子集问题:

    df[is.na(df$x),]
    

    可以在 w3schools 上找到良好的基本和免费指南:https://www.w3schools.com/r/

    干杯 汉内斯

    【讨论】:

      【解决方案2】:

      只需运行以下行:

      df[is.na(x),]
      

      【讨论】:

        【解决方案3】:

        另一个选项是complete.cases

        subset(df, !complete.cases(x))
        

        【讨论】:

          【解决方案4】:

          这是另一个使用 na.omit 的基本 R 选项

          > df[!1:nrow(df) %in% row.names(na.omit(df)), ]
              ID  x
          2 1-13 NA
          5 3-11 NA
          

          【讨论】: