R 从“mi”包导出汇总的GEE估算值
我正在使用R 从“mi”包导出汇总的GEE估算值,r,missing-data,r-mice,R,Missing Data,R Mice,我正在使用geepack包进行一些回归,并希望使用多重插补来处理缺失值。mi中的pool()命令不适用于我的GEE,因此我必须导出(是这样吗?),以便使用geepack中的数据。 complete()函数生成每次迭代,但不生成合并的估计值。 有没有办法用合并的估计值生成数据帧?mi包中的complete函数生成m数据帧列表。对于data参数,您可以在该列表的每个元素上调用gee,然后使用Rubin规则获得汇总估计值。mi包中的complete函数生成mdata.frames的列表。您可以对该列表
geepack
包进行一些回归,并希望使用多重插补来处理缺失值。mi
中的pool()
命令不适用于我的GEE,因此我必须导出(是这样吗?),以便使用geepack
中的数据。
complete()
函数生成每次迭代,但不生成合并的估计值。
有没有办法用合并的估计值生成数据帧?mi包中的
complete
函数生成m
数据帧列表。对于data
参数,您可以在该列表的每个元素上调用gee
,然后使用Rubin规则获得汇总估计值。mi包中的complete
函数生成m
data.frames的列表。您可以对该列表的每个元素调用gee
,以获得数据
参数,然后使用Rubin规则获得汇总估计值。有几个if包在R中实现了Rubin规则(例如,mi
,mice
,mitools
,以及mitml
)。问题在于,这些实现要求拟合统计模型的函数定义了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)
库(geepack)
图书馆(mitml)
#示例数据
数据(dietox)
#实例插补
fml有几个if包在R中实现了Rubin的规则(例如,mi
,mice
,mitools
,和mitml
)。问题在于,这些实现要求拟合统计模型的函数定义了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)
库(geepack)
图书馆(mitml)
#示例数据
数据(dietox)
#实例插补
fml