我有如下数据:
df<-tibble( date= seq.Date(as.Date("2021-01-01"), as.Date("2022-02-01"), by = "month"), val1 = c(105, 105, 105, 125, 125, 125, 125, 132, 132, 132, 135, 150, 150, 150), val2 = c(100, 100, 100, 125, 125, 125, 125, 125, 125, 125, 125, 150, 150, 150), diff = val1-val2 )
我正在努力制作以下内容:
output<-tibble( date= seq.Date(as.Date("2021-01-01"), as.Date("2022-02-01"), by = "month"), val1 = c(105, 105, 105, 125, 125, 125, 125, 132, 132, 132, 135, 150, 150, 150), val2 = c(100, 100, 100, 125, 125, 125, 125, 125, 125, 125, 125, 150, 150, 150), diff = val1-val2, diff_calc = c(0, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 22, 22, 22) )
哪里
diff_calc
是中以前唯一值的累积总和
diff
,其中求和从哪里开始
diff
=0表示上一个
diff
值,并复制到
diff
为0,并且上一个是唯一的
diff
值再次累积求和。
我尝试过不同的滞后和衔接组合,但在这里我真的很吃力。谢谢