0
我想用R中的dplyr包來計算條件累計和。我正在構建一個負面衝擊的儲蓄計算器。所以我想要一個累積儲蓄減去衝擊的變量。這似乎應該是相當簡單的使用滯後函數,但我似乎無法得到它的工作。使用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))
理想我想使負儲蓄震盪是積蓄的一小部分,但想到我會用一個簡單的情況下啓動。
謝謝。這很好。我也可以減去累積和的一小部分,就像這樣 'cumsum(save-event * 0.5 * cumsum(save))' 你知道爲什麼我最初使用的滯後函數不起作用嗎? – williamlief
@williamlief你的帶有'lag'的版本並沒有每個累加任何東西,所以我不知道它是如何將一個時期的節省加起來的。 – josliber