Utwórz sekwencję dat na każdy ostatni dzień miesiąca

0

Pytanie

Próbuję utworzyć sekwencję dat na każdy ostatni dzień miesiąca. Na przykład, data rozpoczęcia - "2018-01-31". Chcę utworzyć sekwencję każdego ostatniego dnia miesiąca od daty rozpoczęcia.

[1] "2018-01-31" "2018-02-28" "2018-03-31" "2018-04-30" "2018-05-31" "2018-06-30"

Próbuję użyć tej składni:

seq(as.Date("2018-01-31",format="%Y-%m-%d"),by="month",length.out=6)

Ale zamiast tego daje wynik ten:

[1] "2018-01-31" "2018-03-03" "2018-03-31" "2018-05-01" "2018-05-31" "2018-07-01"

Jak dowiedzieć się ostatni dzień każdego miesiąca od daty rozpoczęcia?

date r seq
2021-11-23 08:04:39
2

Najlepsza odpowiedź

5

Jeśli chcesz ostatni dzień miesiąca, zamiast tego, aby rozpocząć z 2018-01-31spróbuj

seq(as.Date("2018-02-01",format="%Y-%m-%d"),by="month",length.out=6) -1
[1] "2018-01-31" "2018-02-28" "2018-03-31" "2018-04-30" "2018-05-31" "2018-06-30"
2021-11-23 08:07:48
5

Możemy użyć lubridate opakowanie i jej %m+% operator:

library(lubridate)

as.Date("2018-01-31") %m+% months(0:5)
#> [1] "2018-01-31" "2018-02-28" "2018-03-31" "2018-04-30" "2018-05-31" "2018-06-30"
2021-11-23 08:13:56

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................