Comment convertir une trame de données en série chronologique dans R



Le moyen le plus simple de convertir un bloc de données en objet de série chronologique dans R consiste à utiliser la fonction read.zoo() du package zoo :

tseries <- read.zoo(df)

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : convertir une trame de données en série temporelle dans R

Supposons que nous ayons le bloc de données suivant dans R :

#create data frame
df <- data.frame(date = as.Date('2022-01-01') + 0:9,
                 sales = runif(10, 10, 500) + seq(50, 59)^2)

#view data frame
df

         date    sales
1  2022-01-01 2797.159
2  2022-01-02 2782.148
3  2022-01-03 2801.773
4  2022-01-04 3257.546
5  2022-01-05 3415.920
6  2022-01-06 3267.564
7  2022-01-07 3577.496
8  2022-01-08 3627.193
9  2022-01-09 3509.547
10 2022-01-10 3670.815

Nous pouvons utiliser la fonction class() pour confirmer que df est actuellement un bloc de données :

#display class of df
class(df)

[1] "data.frame"

Pour convertir le bloc de données en objet de série chronologique, nous pouvons utiliser la fonction read.zoo() du package zoo :

library(zoo)

#convert data frame to time series
tseries <- read.zoo(df)

#view time series
tseries

2022-01-01 2022-01-02 2022-01-03 2022-01-04 2022-01-05 2022-01-06 2022-01-07 
  2797.159   2782.148   2801.773   3257.546   3415.920   3267.564   3577.496 
2022-01-08 2022-01-09 2022-01-10 
  3627.193   3509.547   3670.815 

Et nous pouvons utiliser la fonction class() pour confirmer que tseries a une classe de séries chronologiques « zoo ».

#display class of tseries
class(tseries)

[1] "zoo"

Nous pouvons également utiliser la fonction as.ts() pour convertir l’objet de série chronologique « zoo » en un objet de série chronologique « ts » :

#convert to ts object
tseries_ts <- as.ts(tseries)

#view time series object
tseries_ts

Time Series:
Start = 18993 
End = 19002 
Frequency = 1 
 [1] 2797.159 2782.148 2801.773 3257.546 3415.920 3267.564 3577.496 3627.193
 [9] 3509.547 3670.815

#view class
class(tseries_ts)

[1] "ts"

En fonction de votre objectif final, il peut être plus judicieux de convertir le bloc de données en un objet de série chronologique « zoo » ou en un objet de série chronologique « ts ».

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment tracer une série chronologique dans R
Comment convertir une chaîne en Datetime dans R
Comment utiliser difftime dans R pour calculer les différences de temps

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *