【发布时间】:2022-01-03 17:35:03
【问题描述】:
我有以下两个日期:
dates <- c("2019-02-01", "2019-06-30")
我想从以上两个日期创建以下垃圾箱:
2019-05-30, 2019-04-30, 2019-03-31, 2019-02-28
我使用了cut函数和seq,
dt <- as.Date(dates)
cut(seq(dt[1], dt[2], by = "month"), "month")
但这不会产生正确的结果。
您能否介绍一下在日期上使用 cut 功能?
【问题讨论】:
-
?cut.Date会有所帮助。 -
lubridate 有一个功能回滚,它将日期转换为上个月的最后一个日期。
rollback(seq(dt[1], dt[2], by = "month"))[-1]这将产生以下输出[1] "2019-02-28" "2019-03-31" "2019-04-30" "2019-05-31"您也可以使用sort函数按降序获取输出