Como reorganizar boxplots em r (com exemplos)
Muitas vezes você pode querer reorganizar boxplots em R.
Os exemplos a seguir mostram como fazer isso usando dois métodos diferentes:
- Método 1: reorganizar com base em um pedido específico
- Método 2: reorganizar com base no valor mediano do boxplot
Cada exemplo usará o conjunto de dados de qualidade do ar integrado em 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
Esta é a aparência de um boxplot múltiplo para este conjunto de dados sem especificar uma ordem:
#create boxplot that shows distribution of temperature by month
boxplot(Temp~Month, data=airquality, col=" lightblue ", border=" black ")
Exemplo 1: reorganizar gráficos de caixa com base em um pedido específico
O código a seguir mostra como classificar os boxplots com base na seguinte ordem para a variável Mês : 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 ")
Observe que os boxplots agora aparecem na ordem que especificamos usando o argumento de níveis .
Relacionado: Como reorganizar os níveis dos fatores em R
Exemplo 2: reorganizar gráficos de caixa com base no valor mediano
O código a seguir mostra como ordenar os boxplots em ordem crescente com base no valor médio da temperatura para cada mês:
#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 ")
Os boxplots agora aparecem em ordem crescente com base no valor mediano de cada mês.
Nota : O valor mediano de cada boxplot é a linha preta horizontal que passa pelo meio de cada caixa.
Também podemos ordenar os boxplots em ordem decrescente usando um sinal negativo na frente de Temp na função de reordenação :
#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 ")
Os boxplots agora aparecem em ordem decrescente com base no valor mediano de cada mês.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em R:
Como plotar vários boxplots em R
Como criar gráficos de caixa horizontais em R
Como remover outliers em boxplots em R