Как построить несколько блочных диаграмм на одной диаграмме в R


Блочная диаграмма (иногда называемая диаграммой «коробка с усами») — это диаграмма, которая показывает пятизначную сводку набора данных.

Резюме из пяти цифр включает в себя:

  • Минимальное значение
  • Первый квартиль
  • Среднее значение
  • Третий квартиль
  • Максимальное значение

В этом руководстве объясняется, как построить несколько коробчатых диаграмм на одном графике в R, используя базу R и ggplot2.

Блочные диаграммы в базе R

Чтобы проиллюстрировать, как создавать диаграммы в базе R, мы будем работать со встроенным набором данных о качестве воздуха в R:

#view first 6 rows of "airquality" 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

Чтобы создать единую диаграмму для переменной «Озон», мы можем использовать следующий синтаксис:

#create boxplot for the variable "Ozone" 
boxplot(airquality$Ozone)

Это генерирует следующую коробочную диаграмму:

Предположим, вместо этого мы хотим создать по одной ящичковой диаграмме для каждого месяца в наборе данных. Следующий синтаксис показывает, как это сделать:

#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"
)

Это создает следующую диаграмму, которая отображает одну коробочную диаграмму для каждого месяца:

Блочные диаграммы в ggplot2

Другой способ создания коробчатых диаграмм в R — использование пакета ggplot2.В следующих примерах мы снова будем использовать встроенный набор данных airquality .

Чтобы создать единую диаграмму для переменной «Озон» в наборе данных о качестве воздуха, мы можем использовать следующий синтаксис:

#create boxplot for the variable "Ozone" 
library(ggplot2)

ggplot(data = airquality, aes(y=Ozone)) + geom_boxplot()

Это генерирует следующую коробочную диаграмму:

Если вместо этого мы хотим генерировать по одной ящичной диаграмме для каждого месяца в наборе данных, мы можем использовать для этого следующий синтаксис:

#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)")

Это создает следующую диаграмму, которая отображает одну коробочную диаграмму для каждого месяца:

Дополнительные ресурсы

Следующие руководства предлагают дополнительную информацию о блочных диаграммах:

Когда следует использовать коробочную диаграмму? (3 сценария)
Как определить асимметрию в ящичковых диаграммах
Как сравнивать блочные диаграммы