У меня есть фрейм данных, состоящий из столбца «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")
Моя цель - найти в каждой группе NA в столбце Diff и создать новый столбец, который имеет значение «True» или «False» для каждой строки, в зависимости от того, имеет ли соответствующая группа NA в Diff.
Я попытался
x <- aggregate(Diff ~ ID, data, is.na)
и
y <- aggregate(Diff ~ ID, data, function(x) any(is.na(x)))
Идея заключалась в том, чтобы слить результат в зависимости от ID. Однако ничего из вышеперечисленного не дало полезного результата. Я знаю, что R может это сделать … и после долгих поисков я спрашиваю вас, как :)