В качестве примера у меня есть следующий фрейм данных
df <- data.frame(score=letters[1:15], total1=1:15, total2=16:30)
> df
score total1 total2
1 a 1 16
2 b 2 17
3 c 3 18
4 d 4 19
5 e 5 20
6 f 6 21
7 g 7 22
8 h 8 23
9 i 9 24
10 j 10 25
11 k 11 26
12 l 12 27
13 m 13 28
14 n 14 29
15 o 15 30
Я бы хотел aggregate
мой фрейм данных суммировать, группируя строки с разными именами, т.е.
groups sum1 sum2
'a-b-c' 6 51
'c-d-e' 21 60
etc
Все приведенные ответы на этот вопрос предполагают, что строки повторяются в строке.
Обычная функция aggregate
, которую я использую для получения сводки, дает другой результат:
aggregate(df$total1, by=list(sum1=df$score %in% c('a','b','c'), sum2=df$score %in% c('d','e','f')), FUN=sum)
sum1 sum2 x
1 FALSE FALSE 99
2 TRUE FALSE 6
3 FALSE TRUE 15