Вот иллюстрация моего примера. Пример данных:
df <- data.frame(ID = c(1, 1, 2, 2, 3, 5), A = c("foo", "bar", "foo", "foo", "bar", "bar"),
B = c(1, 5, 7, 23, 54, 202))
df
ID A B
1 1 foo 1
2 1 bar 5
3 2 foo 7
4 2 foo 23
5 3 bar 54
6 5 bar 202
Я хочу суммировать по идентификатору и количеству одинаковых идентификаторов. Кроме того, я хочу, чтобы частоты идентификаторов в подгруппах основывались на значениях B в различных числовых диапазонах (количество наблюдений с B> = 0 и B <5, B> = 5 & B <10, B> = 10 & B <15, B> = 15 & B <20 и т. Д. Для всех идентификаторов). </p>
Я хочу получить такой результат:
ID count count_0_5 count_5_10 etc
1 1 2 1 1 etc
2 2 2 NA 1 etc
3 3 1 NA NA etc
4 5 1 NA NA etc
Я пробовал этот код, используя пакет dplyr
:
df %>%
group_by(ID) %>%
summarize(count=n(), count_0_5 = n(B>=0 & B<5))
Тем не менее, он возвращает эту ошибку:
`Error in n(B>=0 & B<5) :
unused argument (B>=0 & B<5)`