Come tracciare più boxplot in un singolo grafico in r
Un boxplot (a volte chiamato box and whisker plot) è un grafico che mostra il riepilogo di cinque numeri di un insieme di dati.
Il riepilogo in cinque numeri include:
- Il valore minimo
- Il primo quartile
- Il valore mediano
- Il terzo quartile
- Il valore massimo
Questo tutorial spiega come tracciare più boxplot in un unico grafico in R, utilizzando Base R e ggplot2.
Boxplot basati su R
Per illustrare come creare boxplot in R, lavoreremo con il set di dati sulla qualità dell’aria integrato in R:
#view first 6 rows of "air quality" dataset
head(airquality)
#Ozone Solar.R Wind Temp Month Day
#1 41 190 7.4 67 5 1
#2 36 118 8.0 72 5 2
#3 12 149 12.6 74 5 3
#4 18 313 11.5 62 5 4
#5 NA NA 14.3 56 5 5
#6 28 NA 14.9 66 5 6
Per creare un unico boxplot per la variabile “Ozono”, possiamo utilizzare la seguente sintassi:
#create boxplot for the variable “Ozone”
boxplot(airquality$Ozone)
Questo genera il seguente boxplot:
Supponiamo invece di voler generare un boxplot per ogni mese nel set di dati. La seguente sintassi mostra come eseguire questa operazione:
#create boxplot that displays temperature distribution for each month in the dataset
boxplot(Temp~Month,
data=airquality,
main="Temperature Distribution by Month",
xlab="Month",
ylab="Degrees (F)",
col="steelblue",
border="black"
)
Ciò genera il seguente grafico che mostra un boxplot per ogni mese:
Diagrammi a scatola in ggplot2
Un altro modo per creare boxplot in R è utilizzare il pacchetto ggplot2 . Utilizzeremo nuovamente il set di dati integrato sulla qualità dell’aria per i seguenti esempi.
Per creare un singolo boxplot per la variabile “Ozono” nel set di dati sulla qualità dell’aria, possiamo utilizzare la seguente sintassi:
#create boxplot for the variable “Ozone”
library(ggplot2)
ggplot(data = airquality, aes(y=Ozone)) + geom_boxplot()
Questo genera il seguente boxplot:
Se invece vogliamo generare un boxplot per ogni mese presente nel dataset, possiamo utilizzare la seguente sintassi per farlo:
#create boxplot that displays temperature distribution for each month in the dataset
library(ggplot2)
ggplot(data = airquality, aes(x=as.character(Month), y=Temp)) +
geom_boxplot(fill="steelblue") +
labs(title="Temperature Distribution by Month", x="Month", y="Degrees (F)")
Ciò genera il seguente grafico che mostra un boxplot per ogni mese:
Risorse addizionali
Le seguenti esercitazioni offrono informazioni aggiuntive sui boxplot:
Quando dovresti utilizzare un box plot? (3 scenari)
Come identificare l’asimmetria nei box plot
Come confrontare i box plot