【发布时间】:2017-08-10 21:13:42
【问题描述】:
我正在尝试使用 R 中的 dplyr 包计算条件累积和。我正在构建一个带有负冲击的储蓄计算器。所以我想要一个具有累积储蓄的变量,减去冲击。这似乎使用 lag 函数应该相当简单,但我似乎无法让它工作。
这是一个例子:
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))
理想情况下,我想让负储蓄冲击成为累积储蓄的一小部分,但我想我会从一个更简单的案例开始。
【问题讨论】:
标签: r dplyr cumulative-sum