Як створити часовий ряд у r (з прикладами)
Найпростіший спосіб створити об’єкт часового ряду в R – це використовувати функцію ts() .
Ця функція використовує такий базовий синтаксис:
ts(дані, початок, кінець, частота)
золото:
- дані : вектор або матриця значень часового ряду
- початок : час першого спостереження
- end : час останнього спостереження
- частота : кількість спостережень за одиницю часу.
У наведених нижче прикладах показано, як використовувати цю функцію для створення різних об’єктів часових рядів на практиці.
Приклад 1. Створіть часовий ряд із місячними даними
Припустімо, що ми маємо такий вектор, який називається даними , який містить кількість продажів, здійснених роздрібним магазином протягом 20 місяців поспіль, починаючи з 1 жовтня 2023 року:
#create vector of 20 values
data <- c(6, 7, 7, 7, 8, 5, 8, 9, 4, 9, 12, 14, 14, 15, 18, 24, 20, 15, 24, 26)
Ми можемо використати функцію ts() і вказати Frequency=12 , щоб створити об’єкт часового ряду з цього вектора:
#create time series object from vector ts_data <- ts(data, start=c(2023, 10), frequency=12) #view time series object ts_data Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2023 6 7 7 2024 7 8 5 8 9 4 9 12 14 14 15 18 2025 24 20 15 24 26
Зверніть увагу, що вектор значень було перетворено на об’єкт часового ряду, де значення тепер пов’язані з місяцем з жовтня 2023 року по травень 2025 року.
Ми також можемо використовувати функцію class() , щоб підтвердити, що ts_data справді є об’єктом часового ряду:
#display class of ts_data object
class(ts_data)
[1] “ts”
Приклад 2. Створіть часовий ряд із річними даними
Припустімо, що ми маємо такий вектор під назвою data , який містить кількість продажів, здійснених роздрібним магазином протягом 20 років поспіль, починаючи з 2000 року:
#create vector of 20 values
data <- c(6, 7, 7, 7, 8, 5, 8, 9, 4, 9, 12, 14, 14, 15, 18, 24, 20, 15, 24, 26)
Ми можемо використати функцію ts() і вказати Frequency=1 , щоб створити об’єкт часового ряду з цього вектора:
#create time series object from vector ts_data <- ts(data, start=2023, frequency=1) #view time series object Time Series: Start = 2000 End = 2019 Frequency = 1 [1] 6 7 7 7 8 5 8 9 4 9 12 14 14 15 18 24 20 15 24 26
Зверніть увагу, що вектор значень було перетворено на об’єкт часового ряду, де значення тепер пов’язані з роком з 2000 по 2019 рік.
Ми також можемо використовувати функцію class() , щоб підтвердити, що ts_data справді є об’єктом часового ряду:
#display class of ts_data object
class(ts_data)
[1] “ts”
Якщо ми хочемо, ми також можемо використовувати функцію plot() для візуалізації продажів за роками:
#create line plot of time series data
plot(ts_data)
Зауважте, що на осі Х відображається рік, а на осі Y – значення продажів.
Ми також можемо налаштувати сюжет, щоб його було легше читати:
#create line plot with custom x-axis, y-axis, title, line color and line width plot(ts_data, xlab=' Year ', ylab=' Sales ', main=' Sales by Year ', col=' blue ', lwd= 3 )
Не соромтеся змінювати аргументи функції plot() , щоб створити точний графік часового ряду, який вам потрібен.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як побудувати часовий ряд у R
Як перетворити кадр даних на часовий ряд у R
Як перетворити рядок на Datetime у R