Per ragioni di completezza, si potrebbe anche overplot:
set.seed(753)
df <- data.frame(y=rt(100, 4), x=gl(5, 20))
bx.p <- boxplot(y~x, df)
bx.p$stats[3, ] <- unclass(with(df, by(y, x, FUN = mean)))
bxp(bx.p, add=T, boxfill="transparent", medcol="red", axes=F, outpch = NA, outlty="blank", boxlty="blank", whisklty="blank", staplelty="blank")
Spiegazione via @scs:
bxp$stats
restituisce una matrice che contiene il baffo più basso, la cerniera inferiore, la mediana, la cerniera superiore e l'estremo del baffo superiore per ciascun diagramma. La soluzione sopra sostituisce la mediana specificata in bx.p$stats[3, ]
con il valore medio. La funzione bxp
è una funzione per tracciare oggetti boxplot.
Risultato:
Forse sono solo io, ma mi piace avere qualche indicazione oltre al solo colore che distingua due cose sulla stessa trama. Immagina che per qualche oscuro motivo volessi leggerlo su carta reale e l'unica stampante su cui posso stampare ha solo inchiostro nero. –
Inserisci una legenda: 'legenda ('topleft', lty = c (1, 1), lwd = rep (3, 2), col = c (" nero "," rosso "), legend = c (" mediana "," mean "), horiz = TRUE, bg =" transparent ")'. – lukeA
Anche la mia stampante utilizza inchiostro nero per la legenda. :-) –