【发布时间】:2018-02-19 15:50:55
【问题描述】:
我有一个包含 3 列的数据框。
ID1 <- c(1,1,2,2,3,4)
ID2 <- c(11,NA,12,NA,NA,NA)
Val <- c("A","B","C","D","E","F")
DF <- data.frame(ID1,ID2,Val, stringsAsFactors=FALSE)
现在,我需要提取 ID2 为“NA”的唯一行。在这种情况下,所需的输出将是 具有两行的数据框,即 ID1 = 3,4。我尝试了下面的子集命令,这导致所有四行都带有 NA。寻找实现所需输出的方法。
DF2 <- subset(DF , is.na(ID2))
【问题讨论】:
-
是否有任何其他功能可以区分数据框的最后 2 行?否则将无法唯一选择这些行。
-
可能类似于
names(table(dat$id1[is.na(dat$id2)]) == 1) -
我觉得这个问题不是很清楚。你能更清楚地解释一下你选择行的规则吗?
-
@A5C1D2H2I1M1N2O1R2T1 以下所有答案都足以满足需要。前两个在实现方面相当简单。谢谢
-
@string,那么您应该选择一个并将其标记为已接受...
标签: r