Блокплоты – это мощные средства визуализации, позволяющие получить представление о распределении и статистических свойствах набора данных. Однако иногда полезно выйти за рамки основного коробчатого графика и добавить линию тренда, чтобы лучше понять основные закономерности. В этой статье блога мы рассмотрим несколько методов создания коробчатых диаграмм с линиями тренда с использованием популярного пакета R, ggplot.
Метод 1: добавление линии тренда линейной регрессии
Один из способов включить линию тренда в коробчатую диаграмму — это подогнать к данным модель линейной регрессии. Вот пример фрагмента кода с использованием набора данных mtcars
:
library(ggplot2)
ggplot(mtcars, aes(x = as.factor(cyl), y = mpg)) +
geom_boxplot() +
geom_smooth(method = "lm", se = FALSE)
Метод 2: добавление сглаженной линии тренда Lowess
Другой метод визуализации тенденций на коробчатой диаграмме — использование сглаженной линии тренда Lowess. Этот подход соответствует данным непараметрической регрессионной модели. Вот пример фрагмента кода:
library(ggplot2)
ggplot(mtcars, aes(x = as.factor(cyl), y = mpg)) +
geom_boxplot() +
geom_smooth(method = "loess", se = FALSE)
Метод 3: добавление линии тренда скользящего среднего
Если у вас есть данные временных рядов, вы можете включить линию тренда скользящего среднего в свой коробчатый график. Этот метод помогает выявить долгосрочные тенденции, сглаживая краткосрочные колебания. Вот пример фрагмента кода:
library(ggplot2)
library(dplyr)
# Assuming you have a time-series dataset called 'df' with columns 'date' and 'value'
df <- df %>%
arrange(date) %>%
mutate(moving_avg = zoo::rollmean(value, k = 5, align = "center", fill = NA))
ggplot(df, aes(x = date, y = value)) +
geom_boxplot() +
geom_line(aes(y = moving_avg), color = "red")
Метод 4: добавление полиномиальной линии тренда
Если связь между вашими переменными нелинейная, вы можете добавить полиномиальную линию тренда в свой коробчатый график. Этот метод соответствует данным модели полиномиальной регрессии. Вот пример фрагмента кода:
library(ggplot2)
ggplot(mtcars, aes(x = as.factor(cyl), y = mpg)) +
geom_boxplot() +
geom_smooth(method = "lm", formula = y ~ poly(x, 3), se = FALSE)
В этой статье блога мы рассмотрели несколько методов создания коробчатых диаграмм с линиями тренда с помощью ggplot. Если вы хотите визуализировать линейные зависимости, нелинейные тенденции или закономерности временных рядов, ggplot предлагает ряд опций для улучшения визуализации коробчатых диаграмм. Включив линии тренда, вы сможете глубже понять свои данные и более эффективно сообщать о своих выводах.