16

出力を修正するために NeweyWest 標準エラーを使用していlm() / dynlm()ます。例えば:

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

係数は希望どおりに表示されますが、残念ながら、要約によって表示される R 二乗、F 検定などの回帰出力情報がすべて失われます。それで、堅牢な se と他のすべてのものを同じ要約出力に表示するにはどうすればよいのでしょうか。

1回の呼び出しですべてを取得するか、「古い」見積もりを上書きする方法はありますか? 何かをひどく見逃しただけだと思いますが、それは出力をスウィーブするときに本当に関係があります。

から取得したテスト例?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

4

2 に答える 2

18

coefficientslm(または) 集計オブジェクトの単なる行列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))
于 2011-07-14T14:45:59.807 に答える
0

共分散行列を指定すると、F 統計量が変化し、waldtest()右を使用して再計算する必要がありますか? なぜなら

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

係数のみを上書きします。F 統計量は変化しますが、R^2 は変わりません。

于 2013-01-21T21:04:18.420 に答える