Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 生成元素xn=f(xn-1)的列表_R - Fatal编程技术网

R 生成元素xn=f(xn-1)的列表

R 生成元素xn=f(xn-1)的列表,r,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 } #i、l和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
    }
#i、l和r分别是初始值、长度和速率

而(i如果你在寻找复利,你可以简单地为未来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

糟糕的代码。很容易将“ll”误认为“one”。可读性应该是您在正确行为之后的第二优先事项。毫无帮助,请参阅原始问题