Comment générer une séquence de dates avec lubridate dans R
Vous pouvez utiliser la syntaxe de base suivante pour générer une séquence de dates à l’aide du package lubridate dans R :
seq(ymd('2022-01-01'), ymd('2022-10-31'), by='1 week')
Cet exemple particulier générera une séquence de dates du 1/1/2022 au 31/10/2022 à intervalles d’ une semaine .
Pour utiliser un intervalle différent, remplacez simplement semaine par une autre unité de temps telle que jour, mois, trimestre, année, etc.
Les exemples suivants montrent comment utiliser cette syntaxe pour générer une séquence de dates en pratique.
Exemple 1 : générer une séquence de dates par jours
Le code suivant montre comment générer une séquence de dates du 1/01/2022 au 15/02/2022 par jour :
library(lubridate)
#generate sequence of dates from 1/1/2022 to 2/15/2022 by day
seq(ymd('2022-01-01'), ymd('2022-02-15'), by='1 day')
[1] "2022-01-01" "2022-01-02" "2022-01-03" "2022-01-04" "2022-01-05"
[6] "2022-01-06" "2022-01-07" "2022-01-08" "2022-01-09" "2022-01-10"
[11] "2022-01-11" "2022-01-12" "2022-01-13" "2022-01-14" "2022-01-15"
[16] "2022-01-16" "2022-01-17" "2022-01-18" "2022-01-19" "2022-01-20"
[21] "2022-01-21" "2022-01-22" "2022-01-23" "2022-01-24" "2022-01-25"
[26] "2022-01-26" "2022-01-27" "2022-01-28" "2022-01-29" "2022-01-30"
[31] "2022-01-31" "2022-02-01" "2022-02-02" "2022-02-03" "2022-02-04"
[36] "2022-02-05" "2022-02-06" "2022-02-07" "2022-02-08" "2022-02-09"
[41] "2022-02-10" "2022-02-11" "2022-02-12" "2022-02-13" "2022-02-14"
[46] "2022-02-15"
Le résultat est une séquence de 46 dates allant du 1/1/2022 au 25/02/2022.
Remarque : Au lieu de saisir 1 jour , vous pouvez également simplement saisir jour .
Exemple 2 : générer une séquence de dates par semaines
Le code suivant montre comment générer une séquence de dates du 1/01/2022 au 15/02/2022 par semaine :
library(lubridate)
#generate sequence of dates from 1/1/2022 to 2/15/2022 by week
seq(ymd('2022-01-01'), ymd('2022-02-15'), by='1 week')
[1] "2022-01-01" "2022-01-08" "2022-01-15" "2022-01-22" "2022-01-29"
[6] "2022-02-05" "2022-02-12"
Le résultat est une séquence de 7 dates allant du 1/1/2022 au 25/02/2022 par semaine.
Nous pourrions également utiliser le code suivant pour générer une séquence de dates du 1/01/2022 au 25/02/2022 à intervalles de 2 semaines :
library(lubridate)
#generate sequence of dates from 1/1/2022 to 2/15/2022 by 2 weeks
seq(ymd('2022-01-01'), ymd('2022-02-15'), by='2 week')
[1] "2022-01-01" "2022-01-15" "2022-01-29" "2022-02-12"
Le résultat est une séquence de 4 dates allant du 01/01/2022 au 25/02/2022 à intervalle de 2 semaines.
Exemple 3 : générer une séquence de dates par mois
Le code suivant montre comment générer une séquence de dates du 01/01/2022 au 31/10/2022 par mois :
library(lubridate)
#generate sequence of dates from 1/1/2022 to 10/31/2022 by month
seq(ymd('2022-01-01'), ymd('2022-02-15'), by='1 month')
[1] "2022-01-01" "2022-02-01" "2022-03-01" "2022-04-01" "2022-05-01"
[6] "2022-06-01" "2022-07-01" "2022-08-01" "2022-09-01" "2022-10-01"
Le résultat est une séquence de 10 dates allant du 01/01/2022 au 31/10/02/2022 par mois.
Notez que dans ce didacticiel, nous n’avons partagé que quelques exemples sur la façon de générer une séquence de dates à l’aide du package lubridate .
N’hésitez pas à modifier la date de début, la date de fin et l’intervalle pour créer la séquence de dates spécifique que vous souhaitez.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment convertir une date en numérique dans R
Comment extraire le mois de la date dans R
Comment ajouter et soustraire des mois à une date dans R