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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *