我正在 R 中尝试一个 VAR 模型,其中有一个外生变量:

VARM <- data.frame(y,x1,x2,x3)  #x3 is the exogenous variable

首先,我想使用 VARselect 选择正确的滞后顺序
VARselect(VARM, lag.max = 6, type = "const" , exogen=x3)

然后我收到以下错误:“y 和 exogen 的行大小不同”

我无法弄清楚是什么原因造成的。当我查看数据框时,我已经确认行是相同的,并且没有遗漏观察。我已经尝试了各种方法来使用 x3 变量,但是当 VARselect 运行时,我能得到的最接近的是这个错误:

“exogen 中没有提供列名,而是使用:exo1”

最佳答案

看来你快到了。在 VARselect 的细节中,它说:“为外源提供矩阵对象”。此外,如果您不想收到警告(不是错误),例如“在 exogen 中没有提供列名,使用: exo1 代替”,您应该提供命名矩阵。例如:

df <- data.frame(x1 = rnorm(50), x2 = rnorm(50))
model <- VARselect(df, exogen = cbind(x3 = rnorm(50)))

关于r - 具有外生变量的 VAR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22513336/

10-12 19:26