使用dplyr进行条件减法的累积和

时间:2017-08-10 21:13:42

标签: r dplyr cumulative-sum

我正在尝试使用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))

理想情况下,我希望将负储蓄冲击作为累积储蓄的一小部分,但我认为我会从一个更简单的案例开始。

1 个答案:

答案 0 :(得分:2)

如果您希望在每个时间步添加colorChange向量中的节省但减去save的冲击,则可以通过计算{{1}的累积总和来计算所需的结果}:

event