سؤال
هل من الممكن أن يكون هناك Confint استخدام VCOV القوية التي تم الحصول عليها بواسطة VCOVHC (من حزمة ساندويتش) بعد تركيب نموذج؟
المحلول
كلا ، لا يمكنك استخدام الوظيفة مربك مباشرة مع VCOV القوية. لكن من المثير للإعجاب القيام بذلك باليد.
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
خلاف ذلك ، يمكنك تكييف confint.default()
الوظيفة لاحتياجاتك الخاصة:
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
}
كما اقترح براندون بالفعل ، ستحصل على فرصة أكبر للحصول على إجابة سريعة إذا سألت هذه الأشياء في Stats.StacKexChange.com
لا تنتمي إلى StackOverflow