使用R中的下一列/行的累计和 [英] Cumulative Sum using next column/row in R

查看:23
本文介绍了使用R中的下一列/行的累计和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可能遇到了一些简单的问题,但我就是找不到解决方案。

假设名为TOTAL的变量的初始值为1,000,并使用另一列计算累计和,可以是负值,也可以是正值。

问题是我不想手动操作,但可以重现。

这是预期输出:

Profit  TOTAL
1  -10.0  990       #Started with 1,000
2   16.3 1006.3     #990 + 16.3
3  -10.0  996.3     #1006.3 - 10
4  -10.0  986.3     #And so on....
5   14.0 1000.3
6  -10.0  990.3

我尝试使用Cumsum函数,但不知道如何实现:

df %>% mutate(cumsum = cumsum(Profit)))

我尝试了sApply,但失败了:

sapply(df[,c("TOTAL")], function(x) df$Profit[x+2] + df$TOTAL[x+1])

是否有任何函数、建议或包可以解决此问题?

推荐答案

如果我理解您的权利,您只需

df=data.frame(profit=c(-10,16.3,-10,-10,14,-10))
total=1000
df$TOTAL=total+cumsum(df$profit)

 profit  TOTAL
1  -10.0  990.0
2   16.3 1006.3
3  -10.0  996.3
4  -10.0  986.3
5   14.0 1000.3
6  -10.0  990.3

这篇关于使用R中的下一列/行的累计和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆