6

我正在使用带有 geepack 的广义估计方程运行线性回归模型。该confint(fit)命令似乎在这里不起作用。例如:

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

我在运行时收到以下错误消息confint(f2)

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

有没有办法在这里找到置信区间?

4

3 回答 3

15

像这样的东西:

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)

为方便起见,您可以编写一个confint封装它的方法:

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)
于 2014-01-19T20:08:10.610 回答
1

我使用了 Ben 的回复,但也发现这很有效:broom:tidy(f2, conf.int = TRUE)

于 2021-01-12T20:48:34.773 回答
0

confint来自 stats 包。geeglm来自geepack包。

您需要确定置信区间在模型输出中的存储位置。

使用str(f2)或从summary(f2).

还可以查看f2$和选项卡以自动完成模型对象。

此外,还 - 查看文档 -链接。您可能必须构建自己的模型,因为我运行的示例模型没有生成 CI。您可能必须从参数标准错误中手动滚动它们。

于 2014-01-19T19:31:28.700 回答