1

我正在使用geepack包进行一些回归,并希望使用多重插补来处理缺失值。中的pool()命令mi不适用于我的 GEE,所以我必须导出(对吗?),以便我可以使用geepack. 该complete()函数生成每次迭代,但不生成合并的估计值。有没有办法使用汇总估计生成数据框?

4

2 回答 2

0

completemi 包中的函数会生成一个mdata.frames 列表。您可以调用gee该列表的每个元素作为data参数,然后使用鲁宾规则来获得汇总估计。

于 2017-01-11T03:18:05.273 回答
0

有几个 if 包在 R 中实现了 Rubin 的规则(例如,mimicemitoolsmitml)。问题是这些实现要求拟合统计模型的函数具有工作方法coef()vcov()定义。

但是,该geeglm()函数没有定义vcov(),标准实现将不起作用。为了补救这种情况,最简单的方法是为 GEE 定义缺失的方法。下面是一个使用mitml包的示例和随geepack.

library(geepack)
library(mitml)

# example data
data(dietox)

# example imputation
fml <- Feed + Weight ~ 1 + Time + (1|Pig)
imp <- panImpute(data=dietox, formula=fml, n.burn=5000, n.iter=500)

implist <- mitmlComplete(imp, "all")

# fit GEE
fit <- with(implist, geeglm(Weight ~ 1 + Time + Feed, id=Pig))

# define missing vcov() function for geeglm-objects
vcov.geeglm <- function(x) summary(x)$cov.scaled

# combine estimates using Rubin's rules
testEstimates(fit)
于 2017-01-13T17:45:32.143 回答