2012-03-16 27 views
10

Ho un semplice grafico a scatole, che mostra la distribuzione di un punteggio per il fattore TIPO:Ordina Boxplot per mezzo (e non mediana) in R

myDataFrame = data.frame(TYPE=c("a","a","b","b","c","c"), SCORE=c(1,1,2,3,2,1)) 
boxplot(SCORE~TYPE, data=myDataFrame) 

I vari tipi sono indicati nell'ordine in cui hanno nei dati telaio. Vorrei ordinare il boxplot con lo medio di di SCORE in ogni TIPO (nell'esempio sopra, l'ordine dovrebbe essere a,c,b).

Qualche suggerimento?

risposta

14

Questo è un lavoro per reorder():

myDataFrame$TYPE <- with(myDataFrame, reorder(TYPE, SCORE, mean)) 
boxplot(SCORE~TYPE, data=myDataFrame) 

enter image description here

+0

Grazie! Quando TYPE è come una stringa ('t =" TYPE "'), 'myDataFrame [, t] <- con (myDataFrame, riordina (myDataFrame [, t], SCORE, mean))' funziona bene. – Mulone