Это веб-страница, полностью созданная в RStudio с использованием R Markdown. Она демонстрирует различные элементы: картинки, списки, таблицы, графики и интерактивные элементы.
ggplot2 - грамматика графикиplotly - интерактивные графикиshiny - веб-приложенияleaflet - интерактивные картыdplyr - манипуляции с даннымиtidyr - очистка данныхcaret - машинное обучение“Данные — это новый нефть.”
— Клайв Хамби, британский математик
“Лучше один раз увидеть, чем сто раз услышать, но лучше один раз интерактивно исследовать, чем один раз увидеть.”
— Современный аналитик данных
“R — это не просто язык программирования, это среда для статистических вычислений и графики.”
— Ross Ihaka, со-создатель R
ggplot(df, aes(x = reorder(Категория, -Значение), y = Значение)) +
geom_col(fill = "steelblue", alpha = 0.8) +
geom_point(aes(size = abs(Рост)), color = "darkred") +
geom_text(aes(label = paste0(Рост, "%")),
position = position_dodge(width = 0.9),
vjust = -0.5,
color = "darkred") +
labs(
title = "Продажи по категориям с показателями роста",
subtitle = "Размер точек показывает абсолютное значение роста",
x = "Категория",
y = "Продажи (тыс. руб.)",
caption = "Данные за 2024 год"
) +
theme_minimal() +
theme(
plot.title = element_text(face = "bold", size = 16),
plot.subtitle = element_text(color = "gray40")
)p_plotly <- plot_ly(
data = df,
x = ~Категория,
y = ~Значение,
type = "bar",
marker = list(
color = ~Значение,
colorscale = "Viridis",
showscale = TRUE
),
text = ~paste("Рост:", Рост, "%"),
hoverinfo = "text+y"
) %>%
layout(
title = "Интерактивная диаграмма продаж",
xaxis = list(title = "Категория"),
yaxis = list(title = "Продажи"),
hovermode = "closest"
)
p_plotlyggplot(ts_data, aes(x = Дата, y = Продажи)) +
geom_line(color = "blue", size = 1.5) +
geom_point(color = "red", size = 3) +
geom_area(fill = "lightblue", alpha = 0.3) +
labs(
title = "Динамика продаж по месяцам",
x = "Месяц",
y = "Продажи (тыс. руб.)"
) +
theme_minimal() +
scale_x_date(date_breaks = "1 month", date_labels = "%b") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))# Подготовка данных для круговой диаграммы
pie_data <- df
pie_data$percent <- round(pie_data$Значение / sum(pie_data$Значение) * 100, 1)
ggplot(pie_data, aes(x = "", y = Значение, fill = Категория)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
geom_text(aes(label = paste0(percent, "%")),
position = position_stack(vjust = 0.5)) +
labs(
title = "Распределение по категориям",
fill = "Категория"
) +
theme_void() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold", size = 16),
legend.position = "right"
)kable(df,
caption = "Данные по категориям",
align = c("l", "c", "c"),
col.names = c("Категория", "Значение", "Рост (%)"))| Категория | Значение | Рост (%) |
|---|---|---|
| Технологии | 278 | 12.5 |
| Наука | 113 | 8.3 |
| Искусство | 294 | -2.1 |
| Спорт | 405 | 15.7 |
| Образование | 217 | 5.4 |
datatable(
ts_data,
caption = "Интерактивная таблица с данными временного ряда",
options = list(
pageLength = 6,
lengthMenu = c(5, 10, 15),
searchHighlight = TRUE
),
class = "display compact",
rownames = FALSE
) %>%
formatStyle(
"Продажи",
background = styleColorBar(ts_data$Продажи, "lightblue"),
backgroundSize = "100% 90%",
backgroundRepeat = "no-repeat",
backgroundPosition = "center"
)# Пример кода R
library(ggplot2)
# Создание красивого графика
beautiful_plot <- function(data) {
ggplot(data, aes(x = x, y = y)) +
geom_point(aes(color = group), size = 3, alpha = 0.7) +
geom_smooth(method = "lm", se = FALSE) +
scale_color_viridis_d() +
theme_minimal() +
labs(
title = "Красивая визуализация",
subtitle = "Создано в R",
caption = "Источник: собственные расчеты"
)
}
# Использование функции
result <- beautiful_plot(my_data)
print(result)Встроенная формула: \(y = \beta_0 + \beta_1 x + \epsilon\)
Формула в отдельной строке:
\[ R^2 = 1 - \frac{SS_{res}}{SS_{tot}} \]
Эта страница демонстрирует мощь R Markdown для создания:
Совет: Для создания еще более интерактивных страниц используйте Shiny, который позволяет создавать полноценные веб-приложения с реактивными элементами.