这个问题在这里已经有了答案:
Calculate cumulative sum (cumsum) by group
(4 个回答)
7 个月前关闭。
假设数据看起来像
group1 group2 num
A sg 1
A sh 2
A sg 4
B at 3
B al 7
a <- cumsum(data[,"num"]) # 1 3 7 10 17
我需要一些团体积累的东西。实际上,我有多个列作为分组指标。我想通过我定义的子组获得累计总和。
例如
如果我按
group1
分组只有,那么输出应该是group1 sum
A 1
A 3
A 7
B 3
B 10
如果我按两个变量分组
group1,group2
那么输出是group1 group2 sum
A sg 1
A sh 2
A sg 5
B at 3
B al 7
最佳答案
library(data.table)
data <- data.table(group1=c('A','A','A','B','B'),sum=c(1,2,4,3,7))
data[,list(cumsum = cumsum(sum)),by=list(group1)]
关于r - 按组累计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30277087/