Question

I am running the linear regression models using generalized estimating equation with geepack. The confint(fit) command does not seem to work in here. For example:

f2 <- geeglm(FEV1 ~ Age, data = Hospdata, family=gaussian, id=HHID)  
summary(f2)
confint(f2)

I get the following error message in running confint(f2):

> confint(f2)
Waiting for profiling to be done...
Error in `[.data.frame`(summ$coefficients, , "Std. Error", drop = FALSE) : undefined columns selected

Is there any way to find the confidence interval in here?

Was it helpful?

Solution

Something like this:

library(geepack)
data(dietox)
dietox$Cu     <- as.factor(dietox$Cu)
mf1 <- formula(Weight~Cu*poly(Time,3))
gee1 <- geeglm(mf1, data=dietox, id=Pig,
               family=poisson("identity"),corstr="ar1")
cc <- coef(summary(gee1))
citab <- with(as.data.frame(cc),
     cbind(lwr=Estimate-1.96*Std.err,
           upr=Estimate+1.96*Std.err))
rownames(citab) <- rownames(cc)

For convenience, you could write a confint method that encapsulates this:

confint.geeglm <- function(object, parm, level = 0.95, ...) {
    cc <- coef(summary(object))
    mult <- qnorm((1+level)/2)
    citab <- with(as.data.frame(cc),
                  cbind(lwr=Estimate-mult*Std.err,
                        upr=Estimate+mult*Std.err))
    rownames(citab) <- rownames(cc)
    citab[parm,]
}

confint(gee1)

OTHER TIPS

I used Ben's reply but also found this works: broom:tidy(f2, conf.int = TRUE)

confint is from the stats package. geeglm is from the geepack package.

You need to determine where the confident intervals are stored in the model output.

Use str(f2) or derive them from summary(f2).

Also have a look at f2$ and tab to auto-complete through the model objects.

Also, also - look in the documentation - link. You may have to construct your own as the example model I ran did not generate CIs. You may have to hand roll them from parameter standard errors.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top