Извлечение компонентов для построения графиков
Извлечение компонентов из объекта даты-времени особенно полезно при анализе данных. Ранее в этой главе вы импортировали ежедневные данные о погоде в Окленде и построили временной ряд максимальной температуры за десять лет. Этот график даёт общее представление о данных, однако годовой паттерн на нём трудно различить.
В этом упражнении вы используете компоненты дат, чтобы исследовать динамику максимальной температуры в течение года. Сначала создайте несколько новых столбцов для хранения извлечённых значений, а затем используйте их для построения нескольких графиков.
Это упражнение является частью курса
Работа с датами и временем в R
Инструкции к упражнению
- С помощью
mutate()создайте три новых столбца:year,ydayиmonth, которые будут содержать соответствующие компоненты столбцаdate. Не забудьте задать месяцам их названия. - Постройте график, где по оси x откладывается
yday, по оси y —max_temp, а линии сгруппированы поyear. Каждая линия соответствует одному году, ось x охватывает период с 1 января по 31 декабря. - Для альтернативного взгляда на данные постройте «риджлайн»-график (ранее известный как joyplot): по оси x —
max_temp, по оси y —month, используя функциюgeom_density_ridges()из пакетаggridges.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
library(ggplot2)
library(dplyr)
library(ggridges)
# Add columns for year, yday and month
akl_daily <- akl_daily %>%
mutate(
___ = ___(date),
___ = ___(date),
___ = ___(date, ___))
# Plot max_temp by yday for all years
ggplot(akl_daily, aes(x = ___, y = ___)) +
geom_line(aes(group = ___), alpha = 0.5)
# Examine distribution of max_temp by month
ggplot(akl_daily, aes(x = ___, y = ___, height = ..density..)) +
geom_density_ridges(stat = "density")