R中最接近的月末

时间:2019-01-17 17:28:49

标签: r dplyr lubridate

嗨,我想找到R中日期列的最接近月底。

有什么有效的方法吗?

dt<-data.frame(orig_dt=as.Date(c("1997-04-01",
      "1997-06-29"
)))


dt<-dt %>% mutate(modified_dt="Nearest_month_end_date")

即1997-04-01应该更改为1997-03-31,而1997-06-29应该更改为1997-06-30。

1 个答案:

答案 0 :(得分:4)

尝试一下:

library(lubridate)
dt<-dt %>% mutate(modified_dt=round_date(orig_dt, unit="month")-days(1))

#Output
> dt
     orig_dt modified_dt
1 1997-04-01  1997-03-31
2 1997-06-29  1997-06-30