You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在同一数据集中新增列累加某列的历史行值?

解决R中生成累加列的问题

嗨,这个需求其实用R内置的cumsum()函数就能完美搞定,操作超简单!

首先先还原你的初始数据集生成代码:

x <- 1:8 
y <- c(2,7,1,3,5,4,1,2) 
data <- data.frame(x,y)

接下来只需要一行代码就能生成你要的z列——它会自动对y列进行累积求和(也就是累加所有历史行的值):

data$z <- cumsum(data$y)

运行之后查看data,就得到了你想要的结果:

x y  z
1 1 2  2
2 2 7  9
3 3 1 10
4 4 3 13
5 5 5 18
6 6 4 22
7 7 1 23
8 8 2 25

简单解释下:cumsum()函数的作用就是按顺序计算向量的累积和,每一个位置的值都是从第一个元素到当前元素的总和,完全匹配你“累加y列所有历史行值”的要求。

内容的提问来源于stack exchange,提问作者cronos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:17:32