Come creare una serie temporale in r (con esempi)
Il modo più semplice per creare un oggetto serie temporale in R è utilizzare la funzione ts() .
Questa funzione utilizza la seguente sintassi di base:
ts(dati, inizio, fine, frequenza)
Oro:
- dati : un vettore o una matrice di valori di serie temporali
- inizio : ora della prima osservazione
- end : l’ora dell’ultima osservazione
- frequenza : numero di osservazioni per unità di tempo.
Gli esempi seguenti mostrano come utilizzare nella pratica questa funzione per creare diversi oggetti di serie temporali.
Esempio 1: creare una serie temporale con dati mensili
Supponiamo di avere il seguente vettore chiamato dati che contiene il numero di vendite effettuate da un negozio al dettaglio per 20 mesi consecutivi, a partire dal 1 ottobre 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)
Possiamo usare la funzione ts() e specificare Frequency=12 per creare un oggetto di serie temporale da questo vettore:
#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
Si noti che il vettore dei valori è stato convertito in un oggetto di serie temporale in cui i valori sono ora associati a un mese da ottobre 2023 a maggio 2025.
Possiamo anche usare la funzione class() per confermare che ts_data è effettivamente un oggetto di serie temporali:
#display class of ts_data object
class(ts_data)
[1] “ts”
Esempio 2: creare una serie temporale con dati annuali
Supponiamo di avere il seguente vettore chiamato data , che contiene il numero di vendite effettuate da un negozio al dettaglio per 20 anni consecutivi, a partire dal 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)
Possiamo usare la funzione ts() e specificare Frequency=1 per creare un oggetto di serie temporale da questo vettore:
#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
Da notare che il vettore dei valori è stato convertito in un oggetto serie temporale in cui i valori sono ora associati ad un anno dal 2000 al 2019.
Possiamo anche usare la funzione class() per confermare che ts_data è effettivamente un oggetto di serie temporali:
#display class of ts_data object
class(ts_data)
[1] “ts”
Se lo desideriamo, possiamo anche utilizzare la funzione plot() per visualizzare le vendite per anno:
#create line plot of time series data
plot(ts_data)
Tieni presente che l’asse X mostra l’anno e l’asse Y mostra i valori delle vendite.
Possiamo anche personalizzare la trama per renderla più facile da leggere:
#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 )
Sentiti libero di modificare gli argomenti della funzione plot() per creare l’esatto grafico della serie temporale che desideri.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come tracciare una serie temporale in R
Come convertire un frame di dati in una serie temporale in R
Come convertire una stringa in Datetime in R