繁体   English   中英

dplyr:变异并找到下一个工作日?

[英]dplyr : mutate and find next business day?

我有以下数据帧

time <- seq(from =ymd("2014-02-24"),to= ymd("2014-03-20"), by="days")
df2 <- data.frame(time)
df2 <- df2 %>% mutate(day_of_week = wday(time, label = TRUE))
> df2
         time day_of_week
1  2014-02-24         Mon
2  2014-02-25        Tues
3  2014-02-26         Wed
4  2014-02-27       Thurs
5  2014-02-28         Fri
6  2014-03-01         Sat
7  2014-03-02         Sun
8  2014-03-03         Mon
9  2014-03-04        Tues
10 2014-03-05         Wed
11 2014-03-06       Thurs
12 2014-03-07         Fri
13 2014-03-08         Sat
14 2014-03-09         Sun
15 2014-03-10         Mon
16 2014-03-11        Tues
17 2014-03-12         Wed
18 2014-03-13       Thurs
19 2014-03-14         Fri
20 2014-03-15         Sat
21 2014-03-16         Sun
22 2014-03-17         Mon
23 2014-03-18        Tues
24 2014-03-19         Wed
25 2014-03-20       Thurs

是否可以使用dplyrmutate来获取每个日期的下一个工作日 如果时间是星期五,请说下周一。

lubridate似乎没有处理业务日期。

非常感谢!

library(bizdays)

load_rmetrics_calendars(2014)

mutate(df2, 
       nbd_time=following(time_seq, 'Rmetrics/NERC'),
       nbd_time=ifelse(nbd_time==time_seq, offset(time_seq, 1, 'Rmetrics/NERC'), nbd_time),
       nbd_time=as.Date(nbd_time, origin="1970-01-01"),
       nbddow=wday(nbd_time, label=TRUE))

您可以定义/加载精确的日历,以考虑区域差异或特定日历需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM