Похоже, вы используете glm.diag.plots
из пакета boot
для получения участков.
Вы можете воссоздать их, используя ggplot
, если хотите. Вот пример:
некоторые модели:
data(anorexia, package = "MASS")
anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt),
family = gaussian, data = anorexia)
glm.diag.plots
выход
library(boot)
glm.diag.plots(anorex.1)
![enter image description here](https://i.stack.imgur.com/XKIA5.png)
Для создания каждого сюжета в ggplot
сначала получите объект из glm.diag.plots
z <- glm.diag.plots(anorex.1, ret = T)
затем постройте каждый участок:
library(ggplot2)
plot1 <- ggplot(data.frame(x = predict(anorex.1),
y = z$res))+
geom_point(aes(x, y)) +
xlab("Linear predictor") +
ylab("Residuals") +
theme_bw()+
theme(aspect.ratio=1)
plot2 <- ggplot(data.frame(x = qnorm(ppoints(length(z$rd)))[rank(z$rd)],
y = z$rd)) +
geom_point(aes(x, y)) +
xlab("Ordered deviance residuals") +
ylab("Quantiles of standard normal") +
geom_abline(intercept = 0, slope = 1, lty =2) +
theme_bw()+
theme(aspect.ratio=1)
plot3 <- ggplot(data.frame(x = z$h/(1-z$h),
y = z$cook)) +
geom_point(aes(x, y)) +
xlab("h/(h-1)") +
ylab("Cook statistic") +
theme_bw()+
theme(aspect.ratio=1)
plot4 <- ggplot(data.frame(x = 1:length(z$cook),
y = z$cook)) +
geom_point(aes(x, y)) +
xlab("Case") +
ylab("Cook statistic") +
theme_bw()+
theme(aspect.ratio=1)
затем объединить их
library(cowplot)
plot_grid(plot1, plot2, plot3, plot4, ncol = 2)
![enter image description here](https://i.stack.imgur.com/NfuhG.png)
Теперь вы можете настроить каждый сюжет так, как вам нравится.