【发布时间】:2014-02-02 18:40:48
【问题描述】:
我有一个由“ID”列和“Diff”列组成的数据框。 ID 列负责标记相应 Diff 值的组。 一个示例如下所示:
structure(list(ID = c(566, 566, 789, 789, 789, 487, 487, 11,
11, 189, 189), Diff = c(100, 277, 529, 43, NA, 860, 780, 445,
NA, 578, 810)), .Names = c("ID", "Diff"), row.names = c(9L, 10L,
20L, 21L, 22L, 25L, 26L, 51L, 52L, 62L, 63L), class = "data.frame")
我的目标是在 Diff 列中搜索每个组的 NA 并创建一个新列,该列的每行具有“True”或“False”值,具体取决于相应组在 Diff 中是否具有 NA。
我试过了
x <- aggregate(Diff ~ ID, data, is.na)
和
y <- aggregate(Diff ~ ID, data, function(x) any(is.na(x)))
这个想法是根据 ID 合并结果。但是,以上都没有产生有用的结果。我知道 R 可以做到……在搜索了很长一段时间后,我问你怎么做 :)
【问题讨论】: