Como plotar vários boxplots em um único gráfico em r
Um boxplot (às vezes chamado de box and whisker plot) é um gráfico que mostra o resumo de cinco números de um conjunto de dados.
O resumo de cinco números inclui:
- O valor mínimo
- O primeiro quartil
- O valor mediano
- O terceiro quartil
- O valor máximo
Este tutorial explica como plotar vários boxplots em um único gráfico em R, usando Base R e ggplot2.
Boxplots baseados em R
Para ilustrar como criar boxplots em R, trabalharemos com o conjunto de dados de qualidade do ar incorporado em R:
#view first 6 rows of "air quality" dataset
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
Para criar um único boxplot para a variável “Ozone”, podemos usar a seguinte sintaxe:
#create boxplot for the variable “Ozone”
boxplot(airquality$Ozone)
Isso gera o seguinte boxplot:
Suponha que, em vez disso, desejemos gerar um boxplot para cada mês no conjunto de dados. A sintaxe a seguir mostra como fazer isso:
#create boxplot that displays temperature distribution for each month in the dataset
boxplot(Temp~Month,
data=airquality,
main="Temperature Distribution by Month",
xlab="Month",
ylab="Degrees (F)",
col="steelblue",
border="black"
)
Isso gera o seguinte gráfico que exibe um boxplot para cada mês:
Gráficos de caixa em ggplot2
Outra forma de criar boxplots em R é usar o pacote ggplot2 . Usaremos o conjunto de dados integrado de qualidade do ar novamente para os exemplos a seguir.
Para criar um único boxplot para a variável “Ozônio” no conjunto de dados de qualidade do ar, podemos usar a seguinte sintaxe:
#create boxplot for the variable “Ozone”
library(ggplot2)
ggplot(data = airquality, aes(y=Ozone)) + geom_boxplot()
Isso gera o seguinte boxplot:
Se, em vez disso, quisermos gerar um boxplot para cada mês do conjunto de dados, podemos usar a seguinte sintaxe para fazer isso:
#create boxplot that displays temperature distribution for each month in the dataset
library(ggplot2)
ggplot(data = airquality, aes(x=as.character(Month), y=Temp)) +
geom_boxplot(fill="steelblue") +
labs(title="Temperature Distribution by Month", x="Month", y="Degrees (F)")
Isso gera o seguinte gráfico que exibe um boxplot para cada mês:
Recursos adicionais
Os tutoriais a seguir oferecem informações adicionais sobre boxplots:
Quando você deve usar um box plot? (3 cenários)
Como identificar assimetria em box plots
Como comparar gráficos de caixa