Как построить временной ряд в R (с примерами)

Как построить временной ряд в R (с примерами)

Часто вам может понадобиться построить временной ряд в R, чтобы визуализировать, как значения временного ряда меняются с течением времени.

В этом руководстве объясняется, как быстро это сделать с помощью библиотеки визуализации данных ggplot2 .

Базовый график временных рядов в R

Предположим, у нас есть следующий набор данных в R:

#create dataset
df <- data.frame(date = as.Date (" 2021-01-01 ") - 0:99,
 sales = runif (100, 10, 500) + seq (50, 149)^2)

#view first six rows
head(df)

 date sales
1 2021-01-01 2845.506
2 2020-12-31 2837.849
3 2020-12-30 3115.517
4 2020-12-29 2847.161
5 2020-12-28 3374.619
6 2020-12-27 3182.005

Мы можем использовать следующий код для создания базового графика временных рядов для этого набора данных с помощью ggplot2:

library (ggplot2)

#create time series plot
p <- ggplot(df, aes (x=date, y=sales)) +
 geom_line()

#display time series plot
p
Базовый график временных рядов в R

Отформатируйте даты по оси X

Мы можем использовать функцию scale_x_date() * для форматирования дат, отображаемых по оси X графика. Эта функция принимает следующие аргументы:

  • %d: день в виде числа от 0 до 31.
  • %a: сокращенный день недели (например, «Вт»)
  • %A: Полный день недели (например, «Вторник»)
  • %m : Месяц от 0 до 12
  • %b: сокращенный месяц (например, «янв»)
  • %B: Месяц без сокращений (например, «январь»)
  • %y: 2-значный год (например, «21»)
  • %Y: 4-значный год (например, «2021»)
  • %W: неделя года от 0 до 52.

** Чтобы эта функция работала, переменная оси x должна быть переменной даты. Если он еще не один, вы можете быстро преобразовать его в один, используя as.Date( variable_name)* .

Следующий код показывает, как использовать один из этих форматов на практике:

p + scale_x_date ( date_labels = " %b %Y ") 
График временных рядов с пользовательскими датами в R

Вы также можете добавить более частые (или редкие) разрывы по оси X, используя аргумент date_breaks.Например, мы можем отобразить даты каждые две недели по оси x:

p + scale_x_date ( date_breaks = " 2 week ") 
Временные ряды с разрывами дат по оси x в R

Мы также можем легко наклонить метки оси X, используя следующий аргумент:

p + theme ( axis.text.x = element_text (angle= 50 , hjust= 1 ))
Наклоните метки оси x в ggplot2

Наконец, мы можем изменить тему, метки осей и заголовок, чтобы сделать график временного ряда более привлекательным:

p <- ggplot(df, aes (x=date, y=sales)) +
 geom_line( color =" turquoise4 ") +
 theme_minimal() + 
 labs(x="", y=" Sales", title=" Total Sales (Past 100 Days) ") +
 theme( plot.title = element_text (hjust=0.5, size=20, face=" bold "))

p 
Временные ряды с пользовательской темой ggplot в R

Дополнительные ресурсы

Полное руководство по лучшим темам ggplot2
Полное руководство по заголовкам ggplot2
Как создавать параллельные графики в ggplot2

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.