results - residual standard error
¿Cómo actualizar el resumen al usar NeweyWest? (2)
Estoy utilizando los errores estándar de NeweyWest para corregir la salida de lm() / dynlm()
. P.ej:
fit1<-dynlm(depvar~covariate1+covariate2)
coeftest(fit1,vcov=NeweyWest)
Los coeficientes se muestran de la forma que me gustaría, pero desafortunadamente pierdo toda la información de salida de regresión como R al cuadrado, F-Test, etc. que se muestra por resumen. Así que me pregunto cómo puedo mostrar una imagen robusta y todas las demás cosas en la misma salida de resumen.
¿Hay alguna forma de obtener todo en una llamada o sobrescribir las estimaciones "antiguas"? Apuesto a que simplemente me he perdido algo, pero eso es realmente relevante al cambiar la salida.
Ejemplo de prueba, tomado de ?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)
por cierto .: lo mismo se aplica para vcovHC
Si especifica la matriz de covarianza, las estadísticas F cambian y necesita computarlas nuevamente usando waldtest()
¿verdad? Porque
temp.summ$coefficients <- unclass(coeftest(temp.lm, vcov. = NeweyWest))
Solo sobrescribe los coeficientes. Las estadísticas F cambian pero R ^ 2 permanece igual.
coefficients
son solo una matriz en el objeto de resumen lm
(o dynlm
), por lo que todo lo que necesita hacer es unclass
la salida 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))