r - 按组累计

标签 r cumsum

这个问题在这里已经有了答案:





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/

相关文章:

python - 使用 pandas Rolling 对象创建列表的滑动窗口

python - Pandas 数据框 - 运行总和并重置

arrays - 将矢量值加起来直到阈值,然后重新开始

r - 在 ggplot2 中以日期格式轴绘制小刻度(不是网格刻度)

r - 如何计算R中数据框中列表列的每一列中的元素

r - 使用来自库 mouse() 的估算数据集来拟合 R 中的多级模型

r - 一旦累积值达到某个阈值 R 就保持行

r - 累积R中每个可能组合的值

R图例不起作用

python - 滚动列值的累积和直到满足条件