Уроки модуля (1/2)
Грамматика и базовые геометрии
В визуализации данных в R преобладает ggplot2, пакет, основанный на «Грамматике графики». Эта теория разбивает графы на независимые семантические компоненты, такие как данные, эстетические отображения и геометрические элементы.
Структура ggplot2
Каждый график, созданный с помощью ggplot2, начинается с вызова функции ggplot(), где мы предоставляем фрейм данных и определяем, как столбцы сопоставляются с визуальными свойствами, используя функцию aes() (эстетика).
Далее мы добавляем геометрические слои с помощью оператора + (примечание: в ggplot2 мы используем +, а не %>%).
Базовый шаблон:
ggplot(data = <DATA_FRAME>, mapping = aes(<AESTHETICS>)) +
<GEOMETRY>()Эстетические отображения (aes) и геометрии (geom_*)
Функция aes() определяет, какие переменные в ваших данных управляют визуальными атрибутами графика:
x: положение по горизонтальной оси.y: положение по вертикальной оси.color: цвет точек или линий.fill: цвет заливки замкнутых фигур (например, столбцов).size: Размер элементов.
Геометрии (geom_) определяют тип визуального представления:
1. Диаграмма рассеяния (geom_point())
Идеально подходит для отображения связи между двумя числовыми переменными.
ggplot(df, aes(x = age, y = income)) +
geom_point()2. Линейный график (geom_line())
Обычно используется для временных рядов или линий тренда.
ggplot(df, aes(x = year, y = sales)) +
geom_line()3. Гистограмма (geom_bar() и geom_col())
По умолчанию geom_bar() подсчитывает частоту категорий, а geom_col() представляет фактические значения, хранящиеся непосредственно в столбце y.
# Plots the value of the 'sales' column for each 'category'
ggplot(df, aes(x = category, y = sales)) +
geom_col()Попробуйте сами
Упражнение 1. Создайте базовую диаграмму рассеяния
Создайте точечную диаграмму, используя фрейм данных df. Сопоставьте столбец высоты с осью X, а столбец веса с осью Y. Используйте geom_point().
Показать подсказку
Использование ggplot(df, aes(x = высота, y = вес)) + geom_point()
Решение доступно после 3 попыток
Упражнение 2. Добавление цвета на основе данных
Измените предыдущий график, сопоставив свойство цвета со столбцом пола внутри aes(), чтобы раскрасить точки по полу.
Показать подсказку
Включает цвет = пол во всех внутренних функциях aes(), например: aes(x = рост, y = вес, цвет = пол).
Решение доступно после 3 попыток
Упражнение 3: Линейный график
Создайте линейный график, используя df. Сопоставьте столбец года с осью X, а столбец продаж с осью Y. Добавьте геометрический слой geom_line().
Показать подсказку
США ggplot(df, aes(x = год, y = продажи)) + geom_line()
Решение доступно после 3 попыток
Упражнение 4. Гистограмма с geom_col
Создайте гистограмму для непосредственного отображения значений. Сопоставьте столбец категории с осью X, а столбец значений с осью Y. Используйте геометрию geom_col().
Показать подсказку
США ggplot(df, aes(x = категория, y = значение)) + geom_col()
Решение доступно после 3 попыток
Упражнение 5. Объединение нескольких геометрий
В ggplot2 вы можете складывать несколько геометрических слоев. Создайте график, сочетающий в себе функции geom_point() и geom_smooth(), сопоставляющий x_val с осью x и y_val с осью y.
Показать подсказку
Добавляйте geom_point() и geom_smooth() отдельно от значения '+'.
Решение доступно после 3 попыток