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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *