从'mi`包中导出汇总的GEE估计值

时间:2017-01-10 14:00:10

标签: r missing-data r-mice

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

2 个答案:

答案 0 :(得分:0)

mi包中的complete函数生成m data.frames列表。您可以在该列表的每个元素上为gee参数调用data,然后使用Rubin的规则来获取合并的估计值。

答案 1 :(得分:0)

如果有一些软件包在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)