如何从MatchThem的mimids对象提取并合并倾向匹配的glm模型?
多重插补倾向匹配模型合并的方案说明
你的现有方法是合理的
直接从mimids对象中提取各插补对应的glm模型列表,再用mice::pool()合并的做法完全可行。mice::pool()本身支持传入同类型的模型列表(只要每个模型对应一组多重插补数据集,且模型结构一致),你的代码逻辑完全契合Rubin规则合并多重插补模型的核心要求,结果是有效的。
更规范的优化实现
虽然现有代码能正常运行,但将模型列表转换为mice包标准的mira(多重插补分析结果)对象会更贴合生态,也能避免潜在的兼容性问题,后续分析工具的支持也更完善。
优化后的代码如下:
# 提取每个插补数据集上的glm倾向得分模型 bar <- purrr::map(foo$models, function(x) x$model) # 转换为mira对象 bar_mira <- mice::as.mira(bar) # 应用Rubin规则合并模型 pooled <- mice::pool(bar_mira) # 查看合并后的模型汇总结果 summary(pooled)
额外说明
mimids对象的models元素中,每个子对象的$model确实对应该插补数据集上拟合的倾向得分glm模型,你的提取逻辑没问题。- 转为
mira对象后,还能使用mice包的其他工具(如pool.compare())进行模型对比等拓展分析。
内容的提问来源于stack exchange,提问作者cjdbarlow
相关产品推荐
相关产品推荐

