我正在尝试为foreach循环中的多元时间序列定义VAR模型。在模型定义中,我正在使用exogen参数定义我不想在var模型中预测的其他功能。
set_index()
我的问题是当我手动单击脚本而不执行整个循环时,一切正常。但是,当执行循环时,我会收到错误消息
我认为这可能与foreach函数如何分配评估有关,这一事实被证明是正确的,因为当我习惯于使用全局赋值运算符设置像这样给外生参数的对象时,循环起作用了
set.seed(2019)
dataframe <- foreach(
SOME CODE...
mod_var <- tryCatch(
expr = {
vars::VAR(
y = train[, c(target, endo_var)],
type = "const",
exogen = train[, exo_var],
lag.max = lag_max_var,
ic = "AIC"
)
},
error = function(e) {
return(NULL)
}
)
SOME MORE CODE...
)
由于我已经读到在循环内进行全局分配不是一种好习惯,所以我想问一问是否还有另一种方法来确保在foreach循环内正确分配对象