我在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和外生的不同行大小”
我无法弄清楚造成这种情况的原因。当我查看数据框时,我已经确认行是相同的,并且没有遗漏的观察结果。我尝试了各种各样的东西来使用x3变量,但是当VARselect运行时,我能得到的最接近的是这个错误:
“外源中没有提供列名,使用:exo1,而不是”
答案 0 :(得分:2)
似乎你几乎就在那里。在VARselect
的细节中,它说:“为外生提供一个矩阵对象”。此外,如果您不希望收到警告(而不是错误),例如“外部未提供列名,请使用:exo1,而不是”,您应该提供命名矩阵。例如:
df <- data.frame(x1 = rnorm(50), x2 = rnorm(50))
model <- VARselect(df, exogen = cbind(x3 = rnorm(50)))