我試圖在幾個月的最后一天創建一個日期序列。例如,開始日期是“2018-01-31”。我想創建自開始日期以來每個月最后一天的序列。
[1] "2018-01-31" "2018-02-28" "2018-03-31" "2018-04-30" "2018-05-31" "2018-06-30"
我正在嘗試使用這種語法:
seq(as.Date("2018-01-31",format="%Y-%m-%d"),by="month",length.out=6)
但它給出了這個輸出:
[1] "2018-01-31" "2018-03-03" "2018-03-31" "2018-05-01" "2018-05-31" "2018-07-01"
如何獲取自開始日期以來每個月的最后一天?
uj5u.com熱心網友回復:
如果您想要一個月的最后一天,而不是從 開始2018-01-31,請嘗試
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"
uj5u.com熱心網友回復:
我們可以使用lubridate包及其%m %運算子:
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"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/366049.html
