生成列表,其中元素xn = f(xn-1)

时间:2017-03-11 13:27:35

标签: r

我想知道是否可以在R中简化以下代码(可能使用apply,seq等)。目的是创建一个通货膨胀指数的时间序列,其中任何给定年份的指数是上一年的价值,乘以一个因子。

#i,l and r are the initial value, length and rate, respectively

    while (i<l){
      res<-c(res, (res[i-1] * (r + 1)))
      i<-i+1
    }

1 个答案:

答案 0 :(得分:1)

如果您正在寻找复利,您可以简单地生成一个指数向量,比如未来5年(0:5,因为我们包括当前年份)。然后我们采用一个因子(5%或1.05),我们希望每年增加当前值100,并在指数中使用它作为索引向量的基础,这是指数:

# i*(1+r)^(0:l) becomes
100 * 1.05^(0:5)
# [1] 100.0000 105.0000 110.2500 115.7625 121.5506 127.6282