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