r的累积产品

Fra*_* VE -1 r

我想在excel中做一些常见的事情,但我不知道如何用R做:

10        * 1.01 = 10.1 
(10+10.1) * 1.02 = 20.502
(10+20.5) * 1.03 = ...
Run Code Online (Sandbox Code Playgroud)

它就像cumprod但是*由外部矢量.

编辑:

我有两个向量,一个可以是:c(50,52,54,55),另一个是c(1.01,1.02,1.03,1.04),我想这样做:

50 * 1.01 = 50.5
(50.5 + 52) * 1.02 = 104.55
...
Run Code Online (Sandbox Code Playgroud)

我希望在没有"for"的每一步都得到一个向量.

谢谢

Kha*_*haa 5

尝试

x <- 1 + 1:100/100 
f <- function(i) 10*sum(cumprod(x[i:1]))
# first 10 elements
sapply(1:10, f)
# [1]  10.10000  20.50200  31.41706  43.07374  55.72743  69.67108  85.24805
# [8] 102.86789 123.02601 146.32861
Run Code Online (Sandbox Code Playgroud)

编辑问题的答案:只是上面的改编.

a <- c(50, 52, 54, 55)
b <- c(1.01, 1.02, 1.03, 1.04)
f1 <- function(i)sum((a[i:1])*cumprod(b[i:1]))
sapply(1:4, f1)
#[1]  50.5000 104.5500 163.3065 227.0388
Run Code Online (Sandbox Code Playgroud)