将 nlme 模型的拟合线添加到 ggplot,并包括置信区间

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

我使用 nlme 对我的数据进行建模,如下所示:

library(nlme)
my_model <- lme(metric ~ group * time, random = "~1 | tech_rep", na.action = "na.omit", data = my_data)

然后我想绘制我的数据,但包括 nlme 模型的拟合线。我从一些帖子中了解到,这可以通过

ggpredict
来完成(从 lme fit 中提取预测带)。我已经成功添加了线条,但我还希望将置信区间显示为线条周围的共享区域(
geom_smooth
的默认设置)。设置
se = TRUE
似乎没有任何作用。

ggpredict_data <- ggpredict(my_model, c("time", "group"), type = "re")
ggplot(ggpredict_data, aes(x = x, y = predicted, colour = group, fill = group)) +
    stat_smooth(method = "lm", se = TRUE, fullrange = TRUE) +
    geom_point(data = my_data,
               aes(x = time, y = metric, colour = group))

任何人都可以帮助让置信区间发挥作用吗?

R,四处阅读,尝试其他帖子

r ggplot2 prediction nlme
1个回答
0
投票

一种方法是使用不同的几何图形分别创建预测线和置信区间:

ggplot(ggpredict_data, aes(x = x, y = predicted, colour = group, fill = group)) +
    geom_ribbon(aes(ymin = conf.low, ymax = conf.high), alpha = 0.5) + # for confidence intervals
    geom_line() + # for predicted line (aesthetics defined above)
    geom_point(data = my_data,
               aes(x = time, y = metric, colour = group))
© www.soinside.com 2019 - 2024. All rights reserved.