Come riorganizzare i boxplot in r (con esempi)
Spesso potresti voler riorganizzare i boxplot in R.
Gli esempi seguenti mostrano come eseguire questa operazione utilizzando due metodi diversi:
- Metodo 1: riorganizzare in base a un ordine specifico
- Metodo 2: riorganizzare in base al valore mediano del boxplot
Ogni esempio utilizzerà il set di dati sulla qualità dell’aria integrato in R:
#view first six lines of air quality data
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
Ecco come apparirà un diagramma a scatole multiple per questo set di dati senza specificare un ordine:
#create boxplot that shows distribution of temperature by month
boxplot(Temp~Month, data=airquality, col=" lightblue ", border=" black ")
Esempio 1: riorganizzare i box plot in base a un ordine specifico
Il codice seguente mostra come ordinare i boxplot in base al seguente ordine per la variabile Month : 5, 8, 6, 9, 7.
#reorder Month values
airquality$Month <- factor(airquality$Month , levels =c(5, 8, 6, 9, 7))
#create boxplot of temperatures by month using the order we specified
boxplot(Temp~Month, data=airquality, col=" lightblue ", border=" black ")
Tieni presente che i grafici a scatola ora appaiono nell’ordine specificato utilizzando l’argomento livelli .
Correlato: Come riorganizzare i livelli dei fattori in R
Esempio 2: riorganizzare i box plot in base al valore mediano
Il codice seguente mostra come ordinare i boxplot in ordine crescente in base al valore della temperatura mediana per ciascun mese:
#reorder Month values in ascending order based on median value of Temp
airquality$Month <- with(airquality, reorder(Month, Temp, median, na. rm = T ))
#create boxplot of temperatures by month
boxplot(Temp~Month, data=airquality, col=" lightblue ", border=" black ")
I boxplot ora vengono visualizzati in ordine crescente in base al valore mediano per ciascun mese.
Nota : il valore mediano di ogni boxplot è la linea nera orizzontale che attraversa il centro di ogni box.
Possiamo anche ordinare i boxplot in ordine decrescente utilizzando un segno negativo davanti a Temp nella funzione di riordino :
#reorder Month values in descending order based on median value of Temp
airquality$Month <- with(airquality, reorder(Month, -Temp, median, na. rm = T ))
#create boxplot of temperatures by month
boxplot(Temp~Month, data=airquality, col=" lightblue ", border=" black ")
I boxplot ora vengono visualizzati in ordine decrescente in base al valore mediano per ciascun mese.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in R:
Come tracciare più boxplot in R
Come creare box plot orizzontali in R
Come rimuovere gli outlier nei boxplot in R