gpt4 book ai didi

r - 按组计算累积和(cumsum)

转载 作者:行者123 更新时间:2023-12-03 01:57:54 26 4
gpt4 key购买 nike

带有数据框:

df <- data.frame(id = rep(1:3, each = 5)
, hour = rep(1:5, 3)
, value = sample(1:15))

我想添加与 id 匹配的累积和列:

df
id hour value csum
1 1 1 7 7
2 1 2 9 16
3 1 3 15 31
4 1 4 11 42
5 1 5 14 56
6 2 1 10 10
7 2 2 2 12
8 2 3 5 17
9 2 4 6 23
10 2 5 4 27
11 3 1 1 1
12 3 2 13 14
13 3 3 8 22
14 3 4 3 25
15 3 5 12 37

我怎样才能有效地做到这一点?谢谢!

最佳答案

df$csum <- ave(df$value, df$id, FUN=cumsum)
如果您想要一个与现有向量长度相等的分组向量,并且可以单独根据这些子向量计算它,则

ave 是“首选”函数。如果您需要基于多个“并行”值进行分组处理,则基本策略是 do.call(rbind, by(dfrm, grp, FUN))

关于r - 按组计算累积和(cumsum),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16850207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com