R:按设定的利率建模远期增长

时间:2019-11-19 20:53:26

标签: r loops lapply

我正在尝试以设定的比例:10%预测未来五年的人口增长,而在这里还没有找到针对我的问题的解决方案。

我从一个空的data.frame开始,dim()5x2。然后,我在第一列中填入年份。从那里,我添加了2019年的人口(百万),就像这样:

popGrowth <- data.frame(matrix(NA,nrow=5,ncol=2))
popGrowth[,1] <- 2019:2023
colnames(popGrowth) <- c('years','population')
popGrowth[1,2] <- 10.4

现在是车轮掉落的地方。我尝试过:

growth_rate <- 0.1

popGrowth$population <- sapply(seq_along(popGrowth$population), function(x){
  (x-1)*(1+growth_rate)
})

这给了我不错的增长率,但忽略了最初的人口。我的成长公式中肯定缺少一些东西。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

如何使用cumprod ...

growth_rate <- 0.1

popGrowth$population <- 10.4 * cumprod(c(1, rep((1 + growth_rate), nrow(popGrowth) - 1)))

popGrowth

  years population
1  2019   10.40000
2  2020   11.44000
3  2021   12.58400
4  2022   13.84240
5  2023   15.22664