我试图使用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))理想情况下,我希望负储蓄冲击只是累积储蓄的一小部分,但我想从一个更简单的例子开始。
发布于 2017-08-10 21:22:31
如果在每一时间步骤中,您想从save向量中添加节省的费用,但从event中减去冲击,则可以通过save-event的累积和来计算所需的结果。
cumsum(save-event)
# [1] 0.5 1.0 1.5 1.0 1.5https://stackoverflow.com/questions/45623539
复制相似问题