希望用反向的cumsum填充矩阵。必须保留多个休息时间。
我已经为我想要完成的事情提供了一个示例矩阵。第一列是数据,第二列是我想要的。您将看到第2列已更新,以反映剩余的项目数。当有0时,必须执行前一个数字。
update <- matrix(c(rep(0,4),rep(1,2),2,rep(0,2),1,3,
rep(10,4), 9,8,6, rep(6,2), 5, 2),ncol=2)
我已经尝试了多种方法来创建一个序列,循环使用众多包(即动物园)。困难的是第1列中的数字可以在0,1,...,X之间但小于第2列。
任何帮助或提示将不胜感激
编辑:第2列以给定值开始,该值可以表示任何起始值(即月初的库存)。然后第1列代表“购买”,其中;因此,第2栏应反映可用剩余物品的总数。
以下将报告所述的采购和库存余额:
starting_inventory <- 100
df <- data.frame(purchases=c(rep(0,4),rep(1,2),2,rep(0,2),1,3))
df$cum_purchases <- cumsum(df$purchases)
df$remaining_inventory <- starting_inventory - df$cum_purchases
结果:
purchases cum_purchases remaining_inventory
1 0 0 100
2 0 0 100
3 0 0 100
4 0 0 100
5 1 1 99
6 1 2 98
7 2 4 96
8 0 4 96
9 0 4 96
10 1 5 95
11 3 8 92