R: суммирование с совокупностью, множественные условия - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть датафрейм (всего 5000 строк), который выглядит примерно так:

total_data
   Ind.Code  Stage Group Behaviour
1   Number1   first  a      INT
2   Number2   first  a      EAT
3   Number2   second a      INT
4   Number1   third  a      STA
5   Number3   first  a      INT
6   Number1   second b      EAT
7   Number1   first  b      PAS
8   Number3   third  b      EAT
9   Number2   third  b      INT
10  Number1   first  b      PAS

Теперь я хочу создать что-то вроде этого:

summarized_data
   Ind.Code   Stage  Group  Behaviour  Count
1  Number1    first    a     INT        1
2  Number1    first    a     EAT        0
3  Number1    first    a     STA        0
4  Number1    first    a     PAS        0
5  Number1    second   a     INT        0
6  Number1    second   a     EAT        0
7  Number1    second   a     STA        0
8  Number1    second   a     PAS        0
9  Number1    third    a     INT        0
10 Number1    third    a     EAT        0
11 Number1    third    a     STA        1
12 Number1    third    a     PAS        0

И так далее для другие инд. коды и группы.

Однако я не могу найти лучший способ сделать это. Я пробовал функцию aggregate:

aggregate(as.integer(total_data$Behaviour), 
by = list(total_data$Ind.Code, total_data$Stage, total_data$Group, total_data$Behaviour,
FUN = sum)

Но, по-видимому, для некоторых точек данных это работает нормально, в то время как для других кажется, что значение 'Count' удваивается.

Может кто-нибудь помочь мне найти правильный код?

Большое спасибо заранее.

...