使用R中的下一列/行的累计和 [英] Cumulative Sum using next column/row in R
本文介绍了使用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屋!
查看全文