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

Aggiungi un commento

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