Я хочу рассчитать количество различных цветов для каждого значения идентификатора, и я хочу, чтобы результирующий фрейм данных был исходным фреймом данных + еще один столбец с именем count. Из другого сообщения, задающего тот же вопрос, я получил следующий код, но этот код, похоже, не работает для меня.
ID= c('A', 'A', 'A', 'B', 'B', 'B')
color=c('white', 'green', 'orange', 'white', 'green', 'green')
d = data.frame (ID, color)
d %>%
group_by(ID) %>%
mutate(count = n_distinct(color))
Запустив этот код, я получил следующий результат:
ID color count
<fct> <fct> <int>
1 A white 3
2 A green 3
3 A orange 3
4 B white 3
5 B green 3
6 B green 3
когда я хочу
ID color count
<fct> <fct> <int>
1 A white 3
2 A green 3
3 A orange 3
4 B white 2
5 B green 2
6 B green 2
Может ли кто-нибудь сказать мне, что я делаю не так или как еще можно это сделать с помощью dplyr?
%>% dplyr::mutate(count = ..
, так как я получаю ожидаемый результат. Возможно, вы также загрузилиplyr
библиотеку, и изменение будет изplyr
mutate - person akrun   schedule 20.05.2018dplyr
- person Dominic Comtois   schedule 20.05.2018