0

我正在编写一个函数以完成示例模拟。我的功能如下:

oos <- function(alpha, rho,rv){
  ar_oos <-(alpha + rho*rv)
  return(ar_oos)
}

我现在任意定义 alpha 和 rho 的值:

rho <-0.4
alpha <- 45

让我们创建一个矩阵来保存我们的结果:

results <- matrix(NA, nrow=(1239), ncol=1)

前 240 个值将是固定时间序列:

results[1:240] <- rnorm(240, 0, 2)

我现在需要的是一个循环,它采用前一个值并重新计算函数 oos 直到我填充矩阵的 1,239 个值:

results[241] <- oos(alpha, rho, rv[240])
results[242] <- oos(alpha, rho, rv[241])
results[243] <- oos(alpha, rho, rv[242])
results[244] <- oos(alpha, rho, rv[243])

有人有想法吗?

非常感谢 !

4

1 回答 1

1

您可以在一个简单的 for 循环中编写它:

for (i in 241:length(results)) {
  results[i] <- oos(alpha, rho, rv[i-1])
}
于 2021-09-08T13:54:20.213 回答