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


Самый простой способ создать объект временного ряда в R — использовать функцию ts() .

Эта функция использует следующий базовый синтаксис:

ts(данные, начало, конец, частота)

Золото:

  • данные : вектор или матрица значений временного ряда.
  • start : Время первого наблюдения
  • end : время последнего наблюдения.
  • частота : количество наблюдений в единицу времени.

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

Пример 1. Создайте временной ряд с ежемесячными данными.

Предположим, у нас есть следующий вектор под названием data , который содержит количество продаж, совершенных розничным магазином за 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) 

Обратите внимание, что по оси X отображается год, а по оси 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *