You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中对mice多重插补的子样本进行合并回归分析?

解决mice包多重插补后子样本合并回归的问题

问题背景

使用mice完成多重插补后,通过with()和pool()可以轻松实现全样本的合并回归,但针对特定子样本(如示例中的男性群体)分析时,常规的子集筛选方法无法直接作用于mids对象,又不想通过complete()提取所有插补数据集后手动合并结果。

解决方案

无需提取完整插补数据集,直接在with()的表达式中对子样本进行筛选即可,以下两种方式都能实现:

方法1:在lm中指定subset参数

直接在lm()函数里通过subset参数筛选目标子样本,mice会自动对每个插补数据集执行筛选和回归:

# 针对男性样本执行合并回归并查看结果
male_reg <- with(imp, lm(a ~ b + c, subset = Sex == "male"))
summary(pool(male_reg))

方法2:先筛选数据再拟合模型

也可以先通过subset()函数在表达式内筛选出子样本,再基于筛选后的数据拟合模型:

male_reg2 <- with(imp, lm(a ~ b + c, data = subset(data, Sex == "male")))
summary(pool(male_reg2))

原理说明

这两种方式都会遵循mice的工作流程:对每一个插补后的数据集单独执行子样本筛选和回归拟合,最后pool()函数会按照Rubin规则自动合并所有插补数据集的回归结果,效率更高且符合多重插补的分析规范。

内容的提问来源于stack exchange,提问作者Murster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 22:57:51