我正在尝试使用R中的systemfit包来完成看似无关的回归(SUR) . 但是,使用多重插补数据(使用鼠标包)完成这些分析并不是直截了当的 .

在谷歌上搜索这个问题,我看到有一个关于相同问题的删除帖子,似乎使用了以下示例(信用到海报,小编辑)

library(systemfit)
library(mice)
nhanes2

r1 <- bmi ~ hyp 

r2 <- bmi ~ age

system <- list( r1, r2 )

imp <- mice(nhanes2, m = 5)
  m=5
  completed=lapply(1:5,function(i)complete(imp,i))
  fit.model <- systemfit(system, data= completed[[1]])

上面为每个插补数据集生成完整的systemfit输出 . 这很好,但我的任务是汇集SUR生成的整个输出 .

我也尝试在zelig中运行该函数失败了:

completed.mi=do.call(Zelig:mi,completed)
  system=list(r1= bmi ~ hyp,r2=bmi~age)
  z.out=zelig(formula= system,model="sur",data=completed.mi)
  >Error: sur is not a supported model type.

最后,调用插补数据的长形式会产生很大的自由度,这不会反映每个插补数据集中的实际案例数(示例不包括在内)

我的问题是:

1)systemfit包是否支持SUR用于MI数据?

2)如果是这样,您是否能够将输出汇集到所有插补数据集中?

3)在R中完成SUR是否有替代包装选项(systemfit除外)?

4)如果3是否,是否有类似的分析可以实现相同的目标,是否存在可能支持MI数据汇集的不同包(例如,rms)?