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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *