Comment créer une série chronologique dans R (avec des exemples)
Le moyen le plus simple de créer un objet de série chronologique dans R consiste à utiliser la fonction ts() .
Cette fonction utilise la syntaxe de base suivante :
ts(données, début, fin, fréquence)
où:
- data : un vecteur ou une matrice de valeurs de séries chronologiques
- start : L’heure de la première observation
- end : L’heure de la dernière observation
- fréquence : Le nombre d’observations par unité de temps.
Les exemples suivants montrent comment utiliser cette fonction pour créer différents objets de séries chronologiques dans la pratique.
Exemple 1 : Créer une série chronologique avec des données mensuelles
Supposons que nous ayons le vecteur suivant appelé données qui contient le nombre de ventes réalisées par un magasin de détail pendant 20 mois consécutifs, à partir du 1er octobre 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)
Nous pouvons utiliser la fonction ts() et spécifier Frequency=12 pour créer un objet de série chronologique à partir de ce vecteur :
#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
Notez que le vecteur de valeurs a été converti en un objet de série chronologique où les valeurs sont désormais associées à un mois d’octobre 2023 à mai 2025.
Nous pouvons également utiliser la fonction class() pour confirmer que ts_data est bien un objet de série temporelle :
#display class of ts_data object
class(ts_data)
[1] "ts"
Exemple 2 : Créer une série chronologique avec des données annuelles
Supposons que nous disposions du vecteur suivant appelé données , qui contient le nombre de ventes réalisées par un magasin de détail pendant 20 années consécutives, à partir de 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)
Nous pouvons utiliser la fonction ts() et spécifier Frequency=1 pour créer un objet de série chronologique à partir de ce vecteur :
#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
Notez que le vecteur de valeurs a été converti en un objet de série chronologique où les valeurs sont désormais associées à une année de 2000 à 2019.
Nous pouvons également utiliser la fonction class() pour confirmer que ts_data est bien un objet de série temporelle :
#display class of ts_data object
class(ts_data)
[1] "ts"
Si nous le souhaitons, nous pouvons également utiliser la fonction plot() pour visualiser les ventes par année :
#create line plot of time series data
plot(ts_data)
Notez que l’axe des X affiche l’année et l’axe des Y affiche les valeurs des ventes.
Nous pouvons également personnaliser l’intrigue pour la rendre plus facile à lire :
#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)
N’hésitez pas à modifier les arguments de la fonction plot() pour créer le tracé de série chronologique exact que vous souhaitez.
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 trame de données en série chronologique dans R
Comment convertir une chaîne en Datetime dans R