?
我正在尝试找出一种更好的方法来计算数周的保留率。
这是每周数据,因此在 for 循环中执行此操作可能在计算上非常昂贵,最好避免这样做。
r = retention.rate
x = rep(10,52)
y[1] = x[1]
y[2] = x[2]+y[1]*r
y[3] = x[3]+y[2]*r
y[4] = x[4]+y[3]*r
等等。
目前,我正在 for 循环中执行此操作,如下所示:
for(i in 2:length(y)) {
y[i] = x[i] + y[i-1] * r
}
有没有更好的方法
试试这个:
y = as.numeric(lapply(1:52, function(i) sum(x[1:i]*r^(0:(i-1)))))