我正在尝试使用R中的 dplyr 包来计算条件累积和。我正在构建一个带负面冲击的储蓄计算器。所以我想要一个累积节省的变量,减去冲击。这似乎应该是使用滞后函数相当简单,但我似乎无法让它工作。
以下是一个例子:
event <- c(0,0,0,1,0)
save <- rep(.5,5)
## add up the savings from each prior row, then when event is one subtract 1
output_want <- c(.5,1,1.5,1,1.5)
df <- tibble(event,save,output_want) %>%
mutate(totsave = if_else(row_number() ==1, save, 0)) %>%
mutate(totsave = if_else(row_number() !=1, save+lag(totsave)-event, save))
理想情况下,我希望将负储蓄冲击作为累积储蓄的一小部分,但我认为我会从一个更简单的案例开始。
答案 0 :(得分:2)
如果您希望在每个时间步添加colorChange
向量中的节省但减去save
的冲击,则可以通过计算{{1}的累积总和来计算所需的结果}:
event