У меня есть фрейм данных, который выглядит следующим образом:
Flag1 Flag2 Type1 Type2 Type3
1 A FIRST 2 0 0
2 A SECOND 1 9 0
3 A THIRD 3 7 0
4 A FOURTH 9 18 0
5 A FIFTH 1 22 0
6 A SIXTH 1 13 0
7 B FIRST 0 0 0
8 B SECOND 3 9 0
9 B THIRD 5 85 0
10 B FOURTH 4 96 0
11 B FIFTH 3 40 0
12 B SIXTH 0 17 0
Мне нужно сложить так, чтобы мой фрейм данных наконец-то выглядел следующим образом
Flag1 Flag2 Type1 Type2 Type3 Sum
1 A FIRST 2 0 0 2
2 A SECOND 1 9 0 10
3 A THIRD 3 7 0 10
4 A FOURTH 9 18 0 27
5 A FIFTH 1 22 0 23
6 A SIXTH 1 13 0 14
7 B FIRST 0 0 0 0
8 B SECOND 3 9 0 12
9 B THIRD 5 85 0 90
10 B FOURTH 4 96 0 100
11 B FIFTH 3 40 0 43
12 B SIXTH 0 17 0 17
13 (all) FIRST 2 0 0 2
14 (all) SECOND 4 18 0 22
15 (all) THIRD 8 92 0 100
16 (all) FOURTH 13 114 0 127
17 (all) FIFTH 4 62 0 66
18 (all) SIXTH 1 30 0 31
19 A (all) 17 68 0 86
20 B (all) 15 247 0 262
21 (all) (all) 32 315 0 348
Я пробовал функцию add_margins в пакете reshape2, бесполезно, она не вычисляет суммы, как я хочу. Я пробовал агрегат, rowSums & colSums - безрезультатно.
Любая помощь здесь будет отличной.
Спасибо
Функция суммирования должна также добавить предыдущую сумму Flag2. Как,
Flag1 Flag2 Type1 Type2 Type3 Sum
1 A FIRST 2 0 0 2
2 A SECOND 1 9 0 12
3 A THIRD 3 7 0 22
4 A FOURTH 9 18 0 49
5 A FIFTH 1 22 0 72
6 A SIXTH 1 13 0 86
7 B FIRST 0 0 0 0
8 B SECOND 3 9 0 12
9 B THIRD 5 85 0 102
10 B FOURTH 4 96 0 202
11 B FIFTH 3 40 0 245
12 B SIXTH 0 17 0 262
13 (all) FIRST 2 0 0 2
14 (all) SECOND 4 18 0 24
15 (all) THIRD 8 92 0 124
16 (all) FOURTH 13 114 0 251
17 (all) FIFTH 4 62 0 317
18 (all) SIXTH 1 30 0 348
19 A (all) 17 68 0 85
20 B (all) 15 247 0 262
21 (all) (all) 32 315 0 347