Як побудувати часовий ряд у 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)

        dirty date
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() *, щоб відформатувати дати, що відображаються вздовж осі х на графіку. Ця функція приймає такі аргументи:

  • %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 . Наприклад, ми могли б відображати дати кожні два тижні вздовж осі х:

 p + scale_x_date ( date_breaks = " 2 week ") 

Часовий ряд зі стрибками дат на осі абсцис 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *