Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

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 *