Boxplot in R практические примеры
Пример №1 базовый график
set.seed(5555) # Create random data
x <- rnorm(1000)
boxplot(x) # Basic boxplot in R
Пример 2: Несколько boxplot на одном графике
Сначала нам нужно создать дополнительные данные, которые мы сможем отобразить на графике. Следующий код на R создаёт равномерно распределённую переменную y и распределённую по закону Пуассона переменную z:
y <- runif(1000) z <- rpois(1000, 3)
Теперь мы можем сохранить наши три переменные x, y и z во фрейме данных:
data <- data.frame(values = c(x, y, z), # Combine variables in data frame
group = c(rep("x", 1000),
rep("y", 1000),
rep("z", 1000)))
head(data)
> head(data) values group 1 -0.7691674 x 2 -0.4476978 x 3 -1.4042935 x 4 0.3920486 x 5 0.7443242 x 6 -1.4610189 x |
boxplot(values ~ group, data) # Multiple boxplots in same graph
Пример 3: Boxplot с пользовательским заголовком и метками
Функция boxplot также позволяет задавать пользовательские заголовки и метки осей. Если мы хотим добавить такой текст на наш бокс-плот, нам нужно использовать аргументы main, xlab и ylab:
boxplot(values ~ group, data, # Change main title and axis labels
main = "My Boxplots",
xlab = "My Boxplot Groups",
ylab = "The Values of My Boxplots")
Пример 4: Горизонтальная Прямоугольная диаграмма
Мы можем выровнять наши Boxplot-графики по горизонтали с помощью аргумента horizontal = TRUE:
boxplot(values ~ group, data,# Horizontal boxplots
horizontal = TRUE)
Пример 5: Добавьте выемку в поле Boxplot
Если мы хотим сделать середину наших диаграмм размаха тоньше, мы можем использовать аргумент «выемка»:
boxplot(values ~ group, data,# Thin boxplots
notch = TRUE)
Пример 6: Изменить цвет Boxplot
boxplot(values ~ group, data,# Color of boxplots
col = "red")
Пример 7: Разный цвет для каждой коробочной диаграммы
Если мы хотим напечатать каждую из наших диаграмм размаха в отдельном цвете, нам нужно указать вектор цветов, содержащий цвет для каждой из наших диаграмм размаха:
boxplot(values ~ group, data, # Different color for each boxplot
col = c("red", "green", "purple"))
Пример 8: Разделение боксплота по группам
Часто мы хотим разделить наши бокс-плоты на разные группы (например, мужские и женские). В таком случае имеет смысл добавить немного дополнительного пространства к нашему бокс-плоту. Давайте сначала изменим наши данные так, чтобы каждый бокс-плот был разделён на подгруппы:
data2 <- data # Replicate data
data2$group <- c(rep("x1", 500), rep("x2", 500), # Modify group variable
rep("y1", 500), rep("y2", 500),
rep("z1", 500), rep("z2", 500))
Теперь мы можем использовать параметр at функции boxplot, чтобы указать точное расположение каждого боксплота. Обратите внимание, что мы не учитываем позиции 3, 4, 7 и 8:
boxplot(values ~ group, data2, # Boxplot with manual positions
col = c("blue", "pink"),
at = c(1, 2, 5, 6, 9, 10))
Пример 9: Boxplot в пакете ggplot2
До сих пор мы создавали все графики и изображения с помощью функции boxplot в базовой версии R. Однако существует множество пакетов, которые предоставляют красивые шаблоны и дополнительные возможности для изменения бокс-плотов.
В этом примере я покажу вам, как создать коробчатую диаграмму с помощью пакета ggplot2. Давайте установим и загрузим пакет в RStudio:
install.packages("ggplot2") # Установить и загрузить ggplot2
library("ggplot2")
Теперь мы можем использовать функции ggplot и geom_boxplot из пакета ggplot2 для создания бокс-плота:
ggplot(data2, aes(x = group, y = values, fill = group)) +
geom_boxplot() # Create boxplot chart in ggplot2








