Como ordenar as categorias de um boxplot por suas medianas

This post was kindly contributed by Anotações R Statistical Computing - go there to comment and to read the full post.

A técnica gráfica de boxplot é muito utilizada na análise exploratória de dados, etapa essencial em um trabalho.

No entanto o R, por padrão, coloca os fatores em ordem alfabética. Uma forma de reordenar estes fatores é através da função ordered, como descrito neste tópico.

Outra forma muito útil é através do argumento at e das funções rank e tapply, exemplificado a baixo.

categ <- rep(c("c","b","a"),c(10,10,10))
valor<-c(rnorm(10,5,2),rnorm(10,12,4),rnorm(10,8,3))
dados1<-data.frame(categ,valor)
# boxplot normal, não ordenado
boxplot(dados1$valor~dados1$categ)
# boxplot ordenado
boxplot(valor~categ,
at=rank(tapply(dados1$valor,dados1$categ, median)))

A forma de ordenamento acima é a mais simples, mas se houver valores de mediana iguais as caixas sairão sobrepostas. Uma forma alternativa de ordenamento é:


categ2 <- with(dados1, factor(categ,
levels=levels(categ)[order(tapply(valor,categ,median))]))
boxplot(valor~categ2,dados1)
rm(categ2)



PS: encontrei esta dica no seguinte link, onde outras possibilidades também são apresentadas.

Tags: , , , ,

Comments are closed.