equatiomatic提取lmer模型方程时固定斜率显示位置异常咨询
equatiomatic包提取lmer模型公式的标注差异问题 官方参考示例
equatiomatic包官方指南包含如下lme4多层模型公式提取示例:
library(lme4) library(equatiomatic) lev1_long <- lmer(score ~ wave + (1|sid) + (1|school) + (1|district), data = sim_longitudinal) extract_eq(lev1_long)
运行上述代码得到的公式标注效果如下:
该输出的格式特征:
- 各随机截距单独占一行,默认相加得到组合截距
wave对应的固定斜率(记为$\beta_1$)显示在第一行,即结果变量score的分布行中- 该示例运行结果可稳定复现
模拟数据复现的异常表现
在处理结构看似高度相似的其他数据时,提取得到的公式标注存在明显差异,以下为基于模拟数据集的可复现代码:
library(tidyverse) library(lme4) library(equatiomatic) mock_df <- tibble( outcome = 1:10, oID = c('D', 'A', 'B', 'C', 'B', 'B', 'E', 'B', 'A', 'C'), treatment = rep(c(0, 1), each = 5), pID = c('P1', 'P1', 'P2', 'P2', 'P2', 'P3', 'P3', 'P3', 'P4', 'P4')) model <- lmer(outcome ~ 1 + treatment + (1|pID) + (1|oID), data = mock_df) extract_eq(model)
注:该模拟数据与模型的适配性存在明显缺陷,此处暂不讨论该问题。
运行上述代码得到的公式输出效果如下:
该输出与官方示例的核心差异:模型结构同样为多个随机截距搭配1个固定斜率,但固定斜率被移动到第三行,归入pID对应的随机截距分布项中。
待解答问题
- 出现上述标注差异的根本原因是什么?
- 固定斜率为什么被归入
pID的随机截距分布,而非oID对应的分布项? - 官方指南示例和本次模拟示例的模型结构是否存在本质差异,足以解释该格式区别?
内容的提问来源于stack exchange,提问作者Gil Henriques
相关产品推荐
相关产品推荐

