如何在R中应用运行函数

时间:2016-02-11 13:05:28

标签: r

我需要在R中开发一个函数,它可用于计算时变变量API,定义为:api(t)= k * api(t-1)+ ppt(t)。

ppt=round(c(0.0,0.0,0.0,runif(25, 0.0, 15.5),0.0,0.0),digit=1)
api=c(5.75,rep(NA,29))
k=0.85
f <- function(k,api,ppt,...){
for (i in 2:30){
api[i]=k*api[i-1]+ppt[i]
return(api)}}
f(k=k,api=api,ppt=ppt)

当我应用上面的函数时,我只得到第一个值。 我感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用简单的递归:

calculateP <- function(startP, t, k, j) {
  if (t == 0) {
     return (stp)
  } 
  return (k[t]*calcP(stp, t-1, k,j) + j[t])
}

似乎工作得很好。