giovedì 16 giugno 2011

Creare un grafico in R con la retta di regressione e le distanze dei punti


x <- c(173, 169, 176, 166, 161, 164, 160, 158, 180, 187)
y <- c(80, 68, 72, 75, 70, 65, 62, 60, 85, 92)

# plottiamo i punti e la retta di regressione
mod1 <- lm(y ~ x)
plot(x, y, xlim=c(min(x)-5, max(x)+5), ylim=c(min(y)-10, max(y)+10))
abline(mod1, lwd=2)



# calcoliamo (e approssimiamo) i residui e i valori predicted
res <- signif(residuals(mod1), 5)
pre <- predict(mod1)

# tracciamo i segmenti di distanza tra i punti e la retta di regressione
segments(x, y, x, pre, col="red")

# aggiungiamo i valori dei residui come labels dei punti
library(calibrate)
textxy(x, y, res, cx=0.7)