使用sjPlot与subset拟合glmer逻辑回归报错解决方法
问题修复方案
已验证可直接生效的修复方式:将R环境从4.2.0版本升级至4.2.1版本,该问题可自动修复,遇到同类报错可优先尝试该方案。
报错场景
基于模型标准化残差,通过模型函数的subset参数剔除广义线性混合模型中的异常值后,调用sjPlot::tab_model()生成模型结果表格时触发报错,报错信息如下:
Error in vectbl_as_row_location(i, nr, i_arg, assign) : ℹ Logical subscripts must match the size of the indexed input. ✖ Input has size 2560 but subscript `r` has size 1006.
复现代码
触发该问题的模型代码如下:
model_2 <- glmer(score ~ TIME + READING_ABILITY + (PARITICIPANT) + (1| WORD), family = binomial(link = "logit"), control = glmerControl(optimizer = "bobyqa"), data = MY_DATA, subset = abs(scale(resid(model))) < 2.5) sjPlot::tab_model(model_2)
该报错是R 4.2.0版本中tibble行索引逻辑与lme4、sjPlot的subset参数传值存在兼容性问题导致,升级R版本后相关依赖的适配问题会同步解决,不需要修改原有建模代码。
内容的提问来源于stack exchange,提问作者T Song
相关产品推荐
相关产品推荐

