在 R 中使用时,我试图排除以下日期bizdays()
:2021-02-15 和 2021-02-16。
我有以下代码:
library(bizdays)
library(lubridate)
create.calendar(name='MyCalendar', weekdays=c('sunday', 'saturday'),
adjust.from=adjust.next, adjust.to=adjust.previous, financial=F)
bizdays.options$set(default.calendar='MyCalendar')
现在,当我写作时,例如:
bizdays(ymd("2021-02-01"), ymd("2021-02-17"))
正如预期的那样,我得到“13”作为输出。但是,我试图排除这两个日期(2021-02-15 和 2021-02-16)。鉴于此,我想在编写时得到“11”作为输出bizdays(ymd("2021-02-01"), ymd("2021-02-17"))
。
此外,每当我计算 2 月和/或其他月份的任何日期之间的营业日时,我都想排除 2021-02-15 和 2021-02-16 。因此,当我计算时,我bizdays(ymd("2021-02-01"), ymd("2021-02-28"))
想得到“18”而不是“20”;当我计算时,我bizdays(ymd("2021-01-23"), ymd("2021-02-28"))
想得到“23”而不是“25”。
我已经尝试在使用时将这些日期作为假期包含在向量中create.calendar()
:
create.calendar(name='MyCalendar', weekdays=c('sunday', 'saturday'),
adjust.from=adjust.next, adjust.to=adjust.previous, financial=F,
holidays = c(ymd("2021-02-15"), ymd("2021-02-16")))
bizdays.options$set(default.calendar='MyCalendar')
但是当我写的时候bizdays(ymd("2021-02-01"), ymd("2021-02-17"))
,我得到以下错误:
Error in bizdays.Date(ymd("2021-02-01"), ymd("2021-02-17")) :
Given date out of range.
我该如何解决这个问题?
谢谢!
更新:正如@Terru_theTerror 的回复评论中提到的,当我使用create.calendar()
.