Jak wygenerować sekwencję dat za pomocą lubridate w r
Możesz użyć następującej podstawowej składni, aby wygenerować sekwencję dat za pomocą pakietu lubridate w R:
seq(ymd(' 2022-01-01 '), ymd(' 2022-10-31 '), by=' 1 week ')
Ten konkretny przykład wygeneruje sekwencję dat od 1.01.2022 do 31.10.2022 w odstępach tygodniowych .
Aby użyć innego interwału, po prostu zastąp tydzień inną jednostką czasu, taką jak dzień, miesiąc, kwartał, rok itp.
Poniższe przykłady pokazują, jak w praktyce wykorzystać tę składnię do wygenerowania sekwencji dat.
Przykład 1: Wygeneruj sekwencję dat według dni
Poniższy kod pokazuje jak wygenerować sekwencję dat od 01.01.2022 do 15.02.2022 dziennie:
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"
Rezultatem jest sekwencja 46 dat od 1.01.2022 do 25.02.2022.
Uwaga : Zamiast wpisywać 1 dzień , możesz także wpisać po prostu dzień .
Przykład 2: wygeneruj sekwencję dat według tygodni
Poniższy kod pokazuje, jak wygenerować sekwencję dat od 01.01.2022 do 15.02.2022 tygodniowo:
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"
Rezultatem jest sekwencja 7 dat od 1.01.2022 do 25.02.2022 tygodniowo.
Możemy również użyć poniższego kodu do wygenerowania sekwencji dat od 01.01.2022 do 25.02.2022 w dwutygodniowych odstępach:
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"
Wynikiem jest sekwencja 4 dat od 1.01.2022 do 25.02.2022 w odstępie 2 tygodni.
Przykład 3: Wygeneruj sekwencję dat w miesiącu
Poniższy kod pokazuje jak wygenerować sekwencję dat od 01.01.2022 do 31.10.2022 miesięcznie:
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"
Wynikiem jest ciąg 10 dat od 01.01.2022 do 31.10.02.2022 w miesiącu.
Pamiętaj, że w tym samouczku udostępniliśmy tylko kilka przykładów generowania sekwencji dat przy użyciu pakietu lubridate .
Możesz zmienić datę początkową, datę końcową i interwał, aby utworzyć żądaną sekwencję dat.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:
Jak przekonwertować datę na liczbę w R
Jak wyodrębnić miesiąc z daty w R
Jak dodawać i odejmować miesiące do daty w R