lmerTest生成lmer模型传入gtsummary的tbl_regression报错原因问询
报错产生原因
该报错是lmerTest包3.1-4及更新版本的内部调用逻辑,与gtsummary包tbl_regression()函数的模型参数解析逻辑不兼容导致的:
lmerTest::lmer()返回的模型对象在存储调用信息时,对match.call()的调用没有正确处理参数传递的...占位符,而tbl_regression()解析混合效应模型的调用信息时会尝试读取模型的call属性,就会触发...不存在的报错。
可行解决方法
你可以根据自己的使用需求选择对应方案解决问题:
- 如果你不需要使用
lmerTest提供的Satterthwaite自由度校正p值,直接用lme4::lmer()替代lmerTest::lmer()拟合模型即可正常运行:
library(lme4) ; library(gtsummary) ; library(dplyr) lme4::lmer(Reaction ~ Days + (1 | Subject), sleepstudy) %>% tbl_regression()
- 如果你需要保留
lmerTest的p值计算结果,可以临时修改模型类为lme4的lmerMod类后再传入tbl_regression():
mod <- lmerTest::lmer(Reaction ~ Days + (1 | Subject), sleepstudy) class(mod) <- "lmerMod" mod %>% tbl_regression()
- 你也可以选择回退
lmerTest到3.1-3版本,该版本不存在该兼容冲突:
remotes::install_version("lmerTest", version = "3.1-3")
内容的提问来源于stack exchange,提问作者François B
相关产品推荐
相关产品推荐

