Jak utworzyć szereg czasowy w r (z przykładami)


Najłatwiejszym sposobem utworzenia obiektu szeregów czasowych w R jest użycie funkcji ts() .

Ta funkcja wykorzystuje następującą podstawową składnię:

ts(dane, początek, koniec, częstotliwość)

Złoto:

  • dane : wektor lub macierz wartości szeregów czasowych
  • start : Czas pierwszej obserwacji
  • end : Czas ostatniej obserwacji
  • częstotliwość : liczba obserwacji na jednostkę czasu.

Poniższe przykłady pokazują, jak w praktyce wykorzystać tę funkcję do tworzenia różnych obiektów szeregów czasowych.

Przykład 1: Utwórz szereg czasowy z danymi miesięcznymi

Załóżmy, że mamy następujący wektor zwany danymi , który zawiera liczbę sprzedaży zrealizowanych przez sklep detaliczny przez 20 kolejnych miesięcy, począwszy od 1 października 2023 r.:

 #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)

Możemy użyć funkcji ts() i podać częstotliwość=12 , aby utworzyć obiekt szeregu czasowego z tego wektora:

 #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                            

Należy pamiętać, że wektor wartości został przekonwertowany na obiekt szeregu czasowego, w którym wartości są teraz powiązane z miesiącem od października 2023 r. do maja 2025 r.

Możemy także użyć funkcji class() , aby potwierdzić, że ts_data rzeczywiście jest obiektem szeregu czasowego:

 #display class of ts_data object
class(ts_data)

 [1] “ts”

Przykład 2: Utwórz szereg czasowy z danymi rocznymi

Załóżmy, że mamy następujący wektor zwany danymi , który zawiera liczbę sprzedaży zrealizowanych przez sklep detaliczny przez 20 kolejnych lat, począwszy od 2000 roku:

 #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)

Możemy użyć funkcji ts() i podać Częstotliwość=1 , aby utworzyć obiekt szeregu czasowego z tego wektora:

 #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 

Należy pamiętać, że wektor wartości został przekonwertowany na obiekt szeregu czasowego, w którym wartości są teraz powiązane z rokiem od 2000 do 2019.

Możemy także użyć funkcji class() , aby potwierdzić, że ts_data rzeczywiście jest obiektem szeregu czasowego:

 #display class of ts_data object
class(ts_data)

 [1] “ts”

Jeśli chcemy, możemy również użyć funkcji plot() do wizualizacji sprzedaży w poszczególnych latach:

 #create line plot of time series data
plot(ts_data) 

Należy pamiętać, że oś X wyświetla rok, a oś Y wyświetla wartości sprzedaży.

Możemy również dostosować fabułę, aby była łatwiejsza w czytaniu:

 #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 )

Możesz dowolnie modyfikować argumenty funkcji plot() , aby utworzyć dokładnie taki wykres szeregów czasowych, jaki chcesz.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak wykreślić szereg czasowy w R
Jak przekonwertować ramkę danych na szereg czasowy w R
Jak przekonwertować ciąg na Datetime w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *