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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *