You need to enable JavaScript to run this app. 如何使用ggplot2绘制符合要求的gamlss模型Worm plot残差图
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ggplot2绘制符合要求的gamlss模型Worm plot残差图

R语言自定义绘制Worm plot残差图的实现方法

你当前使用childsds包的wormplot_gg输出的样式不符合预期,可以通过以下两种方式实现目标样式的残差图:

方法1:手动提取计算结果自定义绘图(灵活度最高,可完全匹配目标样式)

gamlss包的wp()函数支持返回所有绘图所需的计算数据,你可以直接提取后用ggplot2自定义绘制:

library(ggplot2)
library(gamlss)

# 模型拟合
Dados <- Orange
Model <- gamlss(circumference~age, family=NO, data=Dados)

# 提取Worm plot计算数据,不输出默认基础绘图
wp_res <- wp(Model, plot = FALSE)

# 自定义绘图
ggplot(wp_res, aes(x = x, y = y)) +
  # 观测残差点
  geom_point(size = 1.8, alpha = 0.7) +
  # 拟合worm曲线
  geom_smooth(method = "loess", se = FALSE, color = "red", linewidth = 1) +
  # 95%置信区间边界线
  geom_line(aes(y = lower), linetype = "dashed", color = "blue", linewidth = 0.8) +
  geom_line(aes(y = upper), linetype = "dashed", color = "blue", linewidth = 0.8) +
  # 零参考线
  geom_hline(yintercept = 0, linetype = "solid", color = "gray40") +
  # 样式调整
  labs(x = "理论正态分位数", y = "残差样本分位数") +
  theme_bw() +
  theme(
    panel.grid = element_blank(),
    axis.text = element_text(size = 10),
    axis.title = element_text(size = 12)
  )

你可以根据自己的需求修改点、线的颜色、大小、样式,完全匹配你想要的视觉效果。

方法2:调整wormplot_gg的参数

如果你不想自定义绘图逻辑,也可以直接修改wormplot_gg返回的ggplot对象,关闭多余元素:

library(childsds)
wormplot_gg(m = Model) +
  theme_bw() +
  theme(
    # 移除默认分面的标题栏
    strip.background = element_blank(),
    strip.text = element_blank(),
    # 移除网格线
    panel.grid = element_blank()
  ) +
  # 调整坐标轴标题
  labs(x = "理论正态分位数", y = "残差样本分位数")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 01:24:07