【发布时间】:2020-04-13 10:54:50
【问题描述】:
我想估计一个固定效应模型,并使用具有 HC3 小样本调整的稳健方差-协方差矩阵。
对于模型本身,我使用以下代码行:
require(plm)
require(sandwich)
require(lmtest)
require(car)
QSFE <- plm(log(SPREAD)~PERIOD, data = na.omit(QSREG), index = c("STOCKS", "TIME"), model = "within")
这很好用,现在为了计算 HC3 稳健标准误差,我使用了函数 coeftest 和 vcovHC。
coeftest(x = QSFE, vcov = vcovHC(QSFE, type = "HC3", method = "arellano"))
这不起作用。返回的错误如下:
Error in 1 - diaghat : non-numeric argument to binary operator
问题出在 vcovHC 中:当将类型设置为 "HC3" 时。它使用函数hatvalues()计算"diaghat",不支持plm对象并返回错误:
Error in UseMethod("hatvalues") :
no applicable method for 'hatvalues' applied to an object of class "c('plm', 'panelmodel')"
有谁知道如何使用 HC3 (HC2) 估算器进行 plm。我认为它应该取决于 vcov 中使用的函数 hatvalues,因为 HC0/HC1 可以正常工作,因为它不需要它。
【问题讨论】:
-
一个类似的例子对我有用。似乎
vcovHC没有分派给plm为plm 对象提供的方法,因为plm 中没有函数hatvalues,甚至在plm 的源代码中也没有这个词hatvalues。确保在执行coeftest时加载了包plm。 -
感谢您的回复。 hatvalues 意味着在 vcovHC() 中(请参阅rdrr.io/cran/sandwich/src/R/vcovHC.R)。我认为我的问题也可能出在变量 PERIOD 中,它是一个具有 3 个级别的因素。
-
确保从 CRAN 安装最新版本的 plm。
标签: r statistics plm standard-error