You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为混合模型绘制森林图并实现OR值降序排列

混合模型森林图按OR降序排列实现方案

你代码里存在一个小问题:拟合的模型对象命名为Model,调用plot_summs时传入的是小写model,会导致调用报错,先修正命名一致性问题。

jtools包的plot_summs()函数原生支持自定义系数排序,不需要额外重写绘图逻辑,按以下步骤操作即可实现OR值降序排列:

  • 注意前提:lme拟合的线性混合模型默认输出连续结局的回归系数,只有当你拟合的是广义线性混合模型(用glmer/逻辑回归连接函数)时,指数化得到的OR值才有实际解释意义,线性模型直接按原始回归系数排序即可。
  • 第一步:提取模型的系数值,计算对应OR(需要展示OR则加指数转换),过滤掉通常不展示的截距项
  • 第二步:按OR值降序生成系数排序索引,传入plot_summs的coef_order参数
  • 第三步:如果要展示OR值,添加exp = TRUE参数自动完成系数指数转换

可直接运行的代码示例

# 加载依赖包
library(nlme)
library(jtools)

# 修正后的模型拟合代码(统一对象命名)
Model <- lme(fixed = score ~ Age + Sex + yearsofeducation + walkspeed,
             random = ~1|ID, 
             data = DB,
             na.action = na.omit, 
             method = "ML")

# 提取系数并按OR降序排序
coef_table <- summary(Model)$tTable
# 计算OR值,去掉截距项
or_values <- exp(coef_table[, "Value"])
or_values <- or_values[names(or_values) != "(Intercept)"]
# 生成降序排列的索引
sort_index <- order(or_values, decreasing = TRUE)

# 绘制排序后的森林图
plot_summs(Model,
           exp = TRUE, # 线性模型展示回归系数请删除此行
           coef_order = sort_index,
           omit.coefs = "(Intercept)", # 不展示截距
           legend.title = "模型")

如果需要更高的绘图自定义自由度,可以提取系数表后用ggplot2手动绘制,排序逻辑完全可控:

library(ggplot2)
library(dplyr)

# 提取带95%置信区间的系数结果
plot_df <- summ(Model, exp = TRUE, confint = TRUE) |>
  as.data.frame() |>
  tibble::rownames_to_column("variable") |>
  filter(variable != "(Intercept)") |>
  # 按OR值降序排列,将变量转为因子固定y轴顺序
  arrange(desc(est)) |>
  mutate(variable = factor(variable, levels = rev(variable)))

# 手动绘制森林图
ggplot(plot_df, aes(x = est, y = variable)) +
  geom_vline(xintercept = 1, linetype = 2, color = "grey50") + # OR=1参考线,线性模型改为xintercept=0
  geom_errorbarh(aes(xmin = `2.5%`, xmax = `97.5%`), height = 0.2, linewidth = 1) +
  geom_point(shape = 18, size = 4, color = "#2c3e50") +
  labs(x = "OR值 (95% 置信区间)", y = "协变量") +
  theme_bw(base_size = 12)

提示:如果是线性混合模型(结局为连续变量score),删除所有代码里的exp = TRUE参数,排序时直接用原始系数coef_table[, "Value"]替换or_values即可,不需要做指数转换。

内容的提问来源于stack exchange,提问作者Sari Katish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 06:15:44