使用NeweyWest时如何更新摘要?

时间:2011-07-14 09:50:44

标签: r summary lm

我正在使用NeweyWest标准错误来纠正我的lm() / dynlm()输出。 E.g:

fit1<-dynlm(depvar~covariate1+covariate2)
coeftest(fit1,vcov=NeweyWest)

系数以我想要的方式显示,但不幸的是我放弃了所有回归输出信息,如R平方,F-Test等,通过摘要显示。所以我想知道如何在相同的摘要输出中显示强大的se和所有其他内容。

有没有办法在一次通话中获取所有内容或覆盖“旧”估算值? 我敢打赌,我只是错过了一些错误的东西,但这在扫描输出时非常重要。

测试示例,摘自?dynlm

require(dynlm)
require(sandwich)
data("UKDriverDeaths", package = "datasets")
uk <- log10(UKDriverDeaths)
dfm <- dynlm(uk ~ L(uk, 1) + L(uk, 12))

#shows R-squared, etc.
summary(dfm)

#no such information
coeftest(dfm, vcov = NeweyWest)

btw。:同样适用于vcovHC

2 个答案:

答案 0 :(得分:16)

coefficients只是lm(或dynlm)摘要对象中的矩阵,因此您需要做的只是unclass coeftest()输出。

library(dynlm)
library(sandwich)
library(lmtest)
temp.lm <- dynlm(runif(100) ~ rnorm(100))
temp.summ <- summary(temp.lm)
temp.summ$coefficients <- unclass(coeftest(temp.lm, vcov. = NeweyWest))

答案 1 :(得分:0)

如果指定协方差矩阵,F统计数据会发生变化,您需要使用waldtest()再次计算它吗?因为

temp.summ$coefficients <- unclass(coeftest(temp.lm, vcov. = NeweyWest))

仅覆盖系数。 F统计变化但R ^ 2保持不变。