使用NeweyWest时如何更新摘要?

发布于 2024-11-20 00:40:33 字数 677 浏览 5 评论 0原文

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

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

系数按照我想要的方式显示,但不幸的是我丢失了所有由摘要显示的回归输出信息,如 R 平方、F 检验等。所以我想知道如何在同一个摘要输出中显示强大的 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)

顺便说一句:同样适用于 vcovHC

I am using NeweyWest standard errors to correct my lm() / dynlm() output. E.g.:

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

Coefficients are displayed the way I´d like to, but unfortunately I loose all the regression output information like R squared, F-Test etc. that is displayed by summary. So I wonder how I can display robust se and all the other stuff in the same summary output.

Is there a way to either get everything in one call or to overwrite the 'old' estimates?
I bet I just missed something badly, but that is really relevant when sweaving the output.

Test example, taken from ?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.: same applies for vcovHC

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

忆梦 2024-11-27 00:40:33

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))

coefficients is just a matrix in the lm (or dynlm) summary object, so all you need to do is unclass the coeftest() output.

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))
白首有我共你 2024-11-27 00:40:33

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

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

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

If you specify the covariance matrix, the F-statistics change and you need to compute it again using waldtest() right? Because

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

only overwrites the coefficients.
F-statistics change but R^2 remains the same .

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文