ggplot2 中的蠕虫图残差图

Worm plot residuals graph in ggplot2

我正在尝试在使用 gamlss 包中的 gamlss 函数拟合的模型上绘制蠕虫图残差。兴趣图如下所示:

最初,下面是参考使用childsds包中的wormplot_gg函数的计算例程,但是,使用上述函数表示的结果与示例所示不同上面,它被应用于 R 中包含的数据集。

library(ggplot2)
library(gamlss)
library(childsds)

head(Orange)
Dados <- Orange
Model <- gamlss(circumference~age, family=NO,data=Dados); Model
wp(Model)

wormplot_gg(m = Model)

下面是 gamlss 包中 wp 函数的传统结果。

最后,我们通过 childsds 包中的 wormplot_gg 函数获得了结果。然而,正如已经描述的那样,这个并没有以我感兴趣的方式呈现,即第一个图的视觉结构。

使用带有 detrend=True 选项的 qqplotr https://aloy.github.io/qqplotr/index.html

library(qqplotr)
set.seed(1)
df <- data.frame(z=rnorm(50))

ggplot(df, aes(sample=z)) +
  stat_qq_point(detrend = T) +
  stat_qq_band(detrend = T, color='black', fill=NA, size=0.5)

您还可以添加geom_hline(yintercept = 0)

编辑: 在将其与 gamlss 模型一起使用的情况下,首先必须从模型中提取随机化残差,对于 gamlss,这只需使用函数 residuals 即可完成,因此您只需执行例如 df <- data.frame(z=residuals(Model)) 然后继续剩下的代码