如何获得我的VAR模型的HAC标准误差?

如何获得我的VAR模型的HAC标准误差?,r,R,我见过类似的问题,但解决方案似乎不适用于我的情况 不管怎样,我的数据是这样的。第一次差分后,所有变量均为I(0) diff.data.gdpg. diff.data.narrowmg. diff.data.inf. diff.data.stir. diff.data.xrusd. 1 -0.51271298 -1.823265 -1.6304108 -1.0116667 -1.1520946 2 -0.04111672

我见过类似的问题,但解决方案似乎不适用于我的情况

不管怎样,我的数据是这样的。第一次差分后,所有变量均为I(0)

   diff.data.gdpg. diff.data.narrowmg. diff.data.inf. diff.data.stir. diff.data.xrusd.
1     -0.51271298           -1.823265     -1.6304108      -1.0116667       -1.1520946
2     -0.04111672            2.799135     -0.3754515      -0.8033333       -3.8242471
3     -1.27394110            1.171467     -1.0167953      -0.7600000       -0.3483001
4     -1.23568342            3.327228     -0.6832069      -0.9600000       -1.1126535
5      2.92195504            4.291975      0.8145149      -0.7100000        0.4041784
6      1.79054994            2.522487      0.9598156       0.6266667        0.3260302
(我知道技术上不建议在使用VAR时首先进行差异,但我不关心这里的预测。我只想了解这些变量之间的关系)

无论如何,我使用vars包并运行我的VAR。我将希望获得标准错误的lmobject保存到另一个变量

varmodel <- VAR(newdata, p = 4, type = "const")
lmobject <- varmodel$varresult$diff.data.stir.
这给了我以下的错误

Error in bread. %*% meat. : non-conformable arguments

有人有什么解决办法吗?

我可能太迟了,但无论如何我都会回答这个问题,以防其他人搜索相同的问题。我猜您这里的问题是在使用
VAR()
函数估计模型之后,有一个
varest
对象。对于
vcovHAC()
没有varest对象是可以的。而对于
vcovHC
则是。如果你想得到你的HAC协方差矩阵,你应该用
dynlm()
估算你的VAR模型。
lm对象
对于
vcovac

来说是可以的,我可能太迟了,但我会回答这个问题,以防其他人搜索到相同的问题。我猜您这里的问题是在使用
VAR()
函数估计模型之后,有一个
varest
对象。对于
vcovHAC()
没有varest对象是可以的。而对于
vcovHC
则是。如果你想得到你的HAC协方差矩阵,你应该用
dynlm()
估算你的VAR模型。
lm对象
对于
vcovHAC
是正常的

Error in bread. %*% meat. : non-conformable arguments