【发布时间】:2020-11-12 15:31:11
【问题描述】:
数据框包含两个变量(time 和 rate)和 10 个观测值
time <- seq(1:10)
rate <- 1-(0.99^time)
dat <- data.frame(time, rate)
我需要添加一个新列(称为new_rate)。
new_rate定义如下
注意:new_rate_1 是 new 列 new_rate 等的第一次观察。
new_rate_1 = rate_1
new_rate_2 = (1-rate_1)*rate_2
new_rate_3 = (1-rate_1)*(1-rate_2)*rate_3
new_rate_4 = (1-rate_1)*(1-rate_2)*(1-rate_3)*rate_4
...
new_rate_10 = (1-rate_1)*(1-rate_2)*(1-rate_3)*(1-rate_4)*(1-rate_5)*(1-rate_6)*(1-rate_7)*(1-rate_8)*(1-rate_9)*rate_10
如何在 base R 或 dplyr 中做到这一点?
【问题讨论】:
标签: r dplyr iteration rolling-computation accumulate