Скажем, есть линейная модель LM, что я хочу построить qq остатков. Обычно я использовал бы базовую графику R:
qqnorm(residuals(LM), ylab="Residuals")
qqline(residuals(LM))
Я могу выяснить, как получить qqnorm часть графика, но я не могу описать qqline:
ggplot(LM, aes(sample=.resid)) +
stat_qq()
Я подозреваю, что мне не хватает чего-то довольно простого, но похоже, что это должен быть простой способ сделать это.
EDIT: Большое спасибо за решение ниже. Я изменил код (очень немного), чтобы извлечь информацию из линейной модели, чтобы график работал как график удобства в базовом графическом пакете R.
ggQQ <- function(LM) # argument: a linear model
{
y <- quantile(LM$resid[!is.na(LM$resid)], c(0.25, 0.75))
x <- qnorm(c(0.25, 0.75))
slope <- diff(y)/diff(x)
int <- y[1L] - slope * x[1L]
p <- ggplot(LM, aes(sample=.resid)) +
stat_qq(alpha = 0.5) +
geom_abline(slope = slope, intercept = int, color="blue")
return(p)
}