I have data frame df like:
key  entry  x1
1    1      0.2
1    2      0.1
1    3      0.5
1    4      0.6
2    1      0.2
2    2      0.1
2    3      0.7
2    4      0.3
Each group is defined by key and has the same number of entry values. I would like to keep this table structure for subsequent use. I need to add a new column called sumx1 so that each row has the sum of x1 for the key group associated with that row.
In the above example the sum for key group 1 would be 0.2+0.1+0.5+0.6 = 1.4 so in the new column named sumx1 I need to enter 1.4 for each row that has key of 1.
I tried:
df["sumx1"] <- NA
df$sumx1 <- aggregate(df$sumx1, list(key=df$key), sum)
but this throws a warning error as it only gives me the sum per group.