【问题标题】:R loop for multiple VARs多个VAR的R循环
【发布时间】:2019-12-04 11:43:01
【问题描述】:

我有一个 R 循环:

for(i in 1:10){
  VAR(reg_full,p = i, type = "both")
}

但是当我运行它时,我没有得到任何输出(也没有错误)。控制台只是在等待我的下一个输出。

我的目标是运行 10 个不同的 VAR 模型,滞后 1 到 10,然后使用 vars 包的 IRF 函数绘制它们的 IRF。我被困在第一步(计算VAR)。

p=i 是我希望在模型中选择的滞后,理想情况下i 取值 1:10。 reg_full 是我的数据框,type = "both" 只是一个选项(不重要)。

另外,我如何为模型分配一个模型名称,例如model1,以便我存储结果。结果存储在列表对象中?

感谢大家的努力。

【问题讨论】:

  • lapply(1:10, function(i) VAR(reg_full, p=i, type="both"))
  • 在循环之前执行mylist <- list(),然后在循环内部执行mylist[[i]] <- ...
  • lapply 也是一个很好的回应。谢谢

标签: r loops var


【解决方案1】:
L <- list()
for(i in 1:10){
  L[[i]] <- VAR(reg_full,p = i, type = "both")
}

您可以使用L[[i]] 访问每个单独的模型,例如使用L[[1]] 的第一个模型。

【讨论】:

  • 谢谢。这就是我对 VAR 所需要的。现在我必须弄清楚如何绘制 IRF(到目前为止出现错误)
  • 当我尝试访问列表的元素以绘制 IRF 时,我收到以下错误: chol.default(sigma.u) 中的错误:尽管 4 阶的前导次要不是正定的模型是正确的。当我手动运行模型时,它绘制得很好。有什么想法吗?
  • @DM 这是另一个问题(与您的原始问题无关)。
猜你喜欢
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 2014-10-02
  • 1970-01-01
  • 2021-11-06
  • 2018-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多