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

MICE包多元插补后执行逻辑回归报错问题求助

问题排查与解决方案

核心错误分析

你遇到的报错和模型运行问题主要来自两个关键问题:

  • GLM语法错误:你的glm()调用中错误地将HealthInsurance2放在了第二个参数位置(该位置应为family或data参数),同时多余指定了data = merge8imp_long_mids,这导致with()函数无法正确解析mids对象。
  • 冗余的格式转换:完全不需要将插补结果转成长格式再转回mids类型,原始的imp2(你执行多元插补后得到的mids对象)可以直接用于后续分析。

修正后的代码

直接使用原始的imp2对象,调用正确的逻辑回归语法即可:

# 直接基于原始mids对象imp2拟合模型,无需格式转换
model_fitimp <- pool(with(imp2,
                          glm(HeartDisease_Binary2 ~ AgeCat + Sex2 + RaceEthnicity + 
                              SexualOrientation + Education + IncomePovertyRatio + BMICategory + HealthInsurance2,
                              family = "binomial")))

关键说明

  1. 语法修正:把HealthInsurance2加入公式中(如果它是需要调整的协变量),移除多余的data参数和错误的位置参数,with(mids_object, expr)会自动在每个插补数据集上执行expr中的模型拟合。
  2. 避免冗余转换:as.mids()转换长格式数据集时可能引入格式异常,而原始imp2本身就是mice包认可的mids对象,直接使用是最稳妥的方式。
  3. 解决运行缓慢问题:用with()+pool()的标准流程,是在每个插补数据集上单独拟合小模型,再合并结果,比直接在长格式大数据集上拟合效率高得多,且符合多重插补的统计规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 10:15:09