Hoe een datumreeks te genereren met lubridate in r
U kunt de volgende basissyntaxis gebruiken om een reeks datums te genereren met behulp van het lubridate- pakket in R:
seq(ymd(' 2022-01-01 '), ymd(' 2022-10-31 '), by=' 1 week ')
Dit specifieke voorbeeld genereert een reeks datums van 1-1-2022 tot 31-10-2022 met intervallen van één week .
Om een ander interval te gebruiken, vervangt u eenvoudigweg de week door een andere tijdseenheid, zoals dag, maand, kwartaal, jaar, enz.
De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken om een reeks datums te genereren.
Voorbeeld 1: Genereer een reeks datums per dag
De volgende code laat zien hoe u een reeks datums kunt genereren van 01/01/2022 tot 02/15/2022 per dag:
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"
Het resultaat is een reeks van 46 datums van 1-1-2022 tot 25-02-2022.
Let op : In plaats van 1 dag in te voeren, kunt u ook gewoon de dag invoeren.
Voorbeeld 2: genereer een reeks datums per week
De volgende code laat zien hoe u een reeks datums kunt genereren van 01/01/2022 tot 02/15/2022 per week:
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"
Het resultaat is een reeks van 7 data van 1-1-2022 tot 25-02-2022 per week.
We kunnen ook de volgende code gebruiken om een reeks datums te genereren van 01/1/2022 tot 02/25/2022 in intervallen van 2 weken :
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"
Het resultaat is een reeks van 4 data gaande van 01/01/2022 tot 02/25/2022 met een interval van 2 weken.
Voorbeeld 3: Genereer een reeks datums per maand
De volgende code laat zien hoe u een reeks datums kunt genereren van 01/01/2022 tot 10/31/2022 per maand:
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"
Het resultaat is een reeks van 10 datums van 01/01/2022 tot en met 31/10/02/2022 per maand.
Houd er rekening mee dat we in deze tutorial slechts enkele voorbeelden hebben gedeeld over hoe u een datumreeks kunt genereren met behulp van het lubridate- pakket.
Voel je vrij om de startdatum, einddatum en interval te wijzigen om de specifieke datumreeks te creëren die je wilt.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe een datum naar numeriek in R te converteren
Hoe maand uit datum te extraheren in R
Maanden optellen en aftrekken bij een datum in R