如果我使用随机截距模型的拟合值,为什么我的图显示随机截距?

问题描述 投票:0回答:0

我使用密集纵向数据来计算随机截距模型,代码如下:

model1a <- lmerTest::lmer(MET_mean_log ~ Stress_RQ1 + Time + (1 | id), data = data_mini_clean)

在下一步中,我将使用以下代码提取拟合值:

data_mini_clean$MET_fittedvalues_model1a <- fitted(model1a)

现在我使用 ggplot() 函数创建一个意大利面条图,使用 Stress_RQ1 作为我的自变量和 MET_fittedvalues_model1a 作为我的因变量:

ggplot(data_mini_clean, aes(x = Stress_RQ1, y = MET_fittedvalues_model1a, group = factor(id), color = factor(id))) +
  geom_smooth(method = lm, se = FALSE, fullrange = TRUE) +
  scale_color_viridis_d(option = "F", alpha = 0.3, begin = 0, end = 1) +
  geom_smooth(aes(group = 1), method = lm, se = FALSE, fullrange = TRUE, color = "blue") +
  labs(x = "Stress_RQ1", y = "MET_mean (log, fitted)") + 
  theme_minimal()

这创建this plot

我不明白,为什么这个图显示了具有不同斜率的回归线。因为我使用了随机截距模型,所以所有回归线都应该有相同的 beta 系数,我已经用代码仔细检查过了

beta_coefficients <- coef(model1a)$id[, "Stress_RQ1"]

如何更正代码以使所有回归线具有相同的斜率?

我尝试将公式

y ~ x + 0.01612179
添加到
geom_smooth()
函数中,以强制 R 仅使用此 beta 系数,但这只会产生错误代码。

r ggplot2 linear-regression mixed-models
© www.soinside.com 2019 - 2024. All rights reserved.