2010-09-28 10 views
11

È possibile utilizzare la configurazione il robusto vcov ottenuto da vcovHC (dal pacchetto sandwich) dopo aver installato un modello?vcovHC e intervallo di confidenza

+2

Prova a chiedere questo su stats.stackexchange.com –

risposta

13

No, non è possibile utilizzare la funzione di configurazione direttamente con il robusto vcov. Ma è abbastanza semplice farlo a mano.

x <- sin(1:100) 
y <- 1 + x + rnorm(100) 
## model fit and HC3 covariance 
fm <- lm(y ~ x) 
Cov <- vcovHC(fm) 

tt <-qt(c(0.025,0.975),summary(fm)$df[2]) 
se <- sqrt(diag(Cov)) 
ci <-coef(fm) + se %o% tt 

In caso contrario, il vostro grado di adattarsi alla funzione confint.default() alle proprie esigenze:

confint.robust <- function (object, parm, level = 0.95, ...) 
{ 
    cf <- coef(object) 
    pnames <- names(cf) 
    if (missing(parm)) 
     parm <- pnames 
    else if (is.numeric(parm)) 
     parm <- pnames[parm] 
    a <- (1 - level)/2 
    a <- c(a, 1 - a) 
    pct <- stats:::format.perc(a, 3) 
    fac <- qnorm(a) 
    ci <- array(NA, dim = c(length(parm), 2L), dimnames = list(parm, 
     pct)) 
    ses <- sqrt(diag(sandwich::vcovHC(object)))[parm] 
    ci[] <- cf[parm] + ses %o% fac 
    ci 
} 

Come Brandon già suggerito, otterreste più possibilità di una risposta rapida se si chiede queste cose statistiche. stackexchange.com

+0

Come sempre-- Funziona perfettamente. Thx @Joris. Misha – Misha

+0

Risposta eccezionale –

+0

Bella risposta, perché hai scelto qnorm invece di qt? L'oggetto $ df.residual ha il parametro df necessario. –

Problemi correlati