Визуализация данных – это мощный инструмент для получения ценной информации и эффективной передачи результатов. Одной из популярных функций в библиотеках визуализации данных, таких как ggplot2 в R, является geom_smooth. Это позволяет нам подогнать наши данные под плавную кривую, обеспечивая интуитивное представление тенденций. Однако добавление дополнительной статистической информации, такой как значение R-квадрата (R2) или уравнение подобранной линии, может улучшить интерпретируемость визуализации. В этой статье мы рассмотрим несколько способов включения R2 или уравнения в geom_smooth, а также приведем примеры кода.
Метод 1: аннотирование с помощью функции annotate() ggplot2
library(ggplot2)
data <- ... # Your data
plot <- ggplot(data, aes(x = x, y = y)) +
geom_point() +
geom_smooth() +
annotate("text", x = xmax, y = ymax, label = paste0("R2 = ", round(r_squared_value, 2)))
print(plot)
Метод 2: использование пакета gpmisc
library(ggplot2)
library(ggpmisc)
data <- ... # Your data
plot <- ggplot(data, aes(x = x, y = y)) +
geom_point() +
geom_smooth() +
stat_poly_eq(formula = y ~ x,
eq.with.lhs = "italic(hat(y))~`=`~",
aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")),
parse = TRUE)
print(plot)
Метод 3: пользовательская функция для расчета R2 и отображения уравнения
library(ggplot2)
data <- ... # Your data
calculate_r_squared <- function(model) {
SS_residual <- sum(model$residuals^2)
SS_total <- sum((model$y - mean(model$y))^2)
r_squared <- 1 - (SS_residual / SS_total)
return(r_squared)
}
plot <- ggplot(data, aes(x = x, y = y)) +
geom_point() +
geom_smooth(method = "lm", formula = y ~ x, se = FALSE) +
annotate("text", x = xmax, y = ymax, label = paste0("R2 = ", round(calculate_r_squared(lm(y ~ x, data = data)), 2)))
print(plot)
Улучшение визуализации данных с помощью geom_smoothв ggplot2 можно дополнительно улучшить, включив дополнительную статистическую информацию, такую как R2 или уравнение подобранной линии. В этой статье мы рассмотрели три различных метода достижения этой цели, включая аннотирование с помощью annotate(), использование пакета ggpmiscи создание пользовательской функции. Реализуя эти методы, вы можете создавать более информативные и визуально привлекательные визуализации данных.