How to calculate and add a new line with the sum of the column values of the regions by year and month in the data frame?

How to calculate and add a new line with the sum of the column values of the regions by year and month in the data frame?

(df <- data.frame(reg=rep(1:2,each=24),
                 year=rep(2004:2005, each=12),
                 month=rep(1:12,2005-2004+1),
                 v1=cumsum(4:15),
                 v2=cumsum(2:13)))
                               

df_out
reg year month v1 v2
1 1 2004 1 4 2
2 1 2004 2 9 5
3 1 2004 3 15 9
4 1 2004 4 22 14
5 1 2004 5 30 20
6 1 2004 6 39 27
7 1 2004 7 49 35
8 1 2004 8 60 44
9 1 2004 9 72 54
10 1 2004 10 85 65
11 1 2004 11 99 77
12 1 2004 12 114 90
13 1 2005 1 4 2
14 1 2005 2 9 5
15 1 2005 3 15 9
16 1 2005 4 22 14
17 1 2005 5 30 20
18 1 2005 6 39 27
19 1 2005 7 49 35
20 1 2005 8 60 44
21 1 2005 9 72 54
22 1 2005 10 85 65
23 1 2005 11 99 77
24 1 2005 12 114 90
25 2 2004 1 4 2
26 2 2004 2 9 5
27 2 2004 3 15 9
28 2 2004 4 22 14
29 2 2004 5 30 20
30 2 2004 6 39 27
31 2 2004 7 49 35
32 2 2004 8 60 44
33 2 2004 9 72 54
34 2 2004 10 85 65
35 2 2004 11 99 77
36 2 2004 12 114 90
37 2 2005 1 4 2
38 2 2005 2 9 5
39 2 2005 3 15 9
40 2 2005 4 22 14
41 2 2005 5 30 20
42 2 2005 6 39 27
43 2 2005 7 49 35
44 2 2005 8 60 44
45 2 2005 9 72 54
46 2 2005 10 85 65
47 2 2005 11 99 77
48 2 2005 12 114 90
49 sum1:2 2004 1 8 4
50 sum1:2 2004 2 18 10
51 sum1:2 2004 3 30 18
52 sum1:2 2004 4 44 28
53 sum1:2 2004 5 60 40
54 sum1:2 2004 6 78 54
55 sum1:2 2004 7 98 70
56 sum1:2 2004 8 120 88
57 sum1:2 2004 9 144 108
58 sum1:2 2004 10 170 130
59 sum1:2 2004 11 198 154
60 sum1:2 2004 12 228 180
61 sum1:2 2005 1 8 4
62 sum1:2 2005 2 18 10
63 sum1:2 2005 3 30 18
64 sum1:2 2005 4 44 28
65 sum1:2 2005 5 60 40
66 sum1:2 2005 6 78 54
67 sum1:2 2005 7 98 70
68 sum1:2 2005 8 120 88
69 sum1:2 2005 9 144 108
70 sum1:2 2005 10 170 130
71 sum1:2 2005 11 198 154
72 sum1:2 2005 12 228 180

You can use dplyr and apply group_by() then summarize().

2 Likes

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.