У меня есть этот воспроизводимый кадр данных:
df <- data.frame(ID = c("A", "A", "B", "B", "B","C", "C", "D"), cost = c("0.5", "0.4", "0.7", "0.8", "0.5", "1.3", "1.3", "2.6"))
Я пытаюсь сгруппировать идентификатор, чтобы проверить, есть ли различия в столбце cost
, и обновить новый столбец с именем Test diff
* 1006.*
Промежуточный вывод
ID cost Testdiff
1 A 0.5 Y
2 A 0.4 Y
3 B 0.7 Y
4 B 0.8 Y
5 B 0.5 Y
6 C 1.3 N
7 C 1.3 N
8 D 2.6 N
Я смотрю на примере использования dplyr, но я не уверен, является ли match
правильной функцией.
df %>% group_by(ID) %>% mutate(Testdiff = ifelse(match(cost) == T, "Y", "N"))
Как только это будет завершено, я хочу сохранить 1-ую строку уникального идентификатора, давая мне этот вывод
ID cost Testdiff
1 A 0.5 Y
2 B 0.7 Y
3 C 1.3 N
4 D 2.6 N