gpt4 book ai didi

R 包 bizdays 给出意想不到的结果

转载 作者:行者123 更新时间:2023-12-04 15:50:23 24 4
gpt4 key购买 nike

我正在尝试使用 bizdays R 包来计算一周中不包括周末和节假日的工作日数。

下面我有一个简单的例子,评估 12/24/2018 和 12/28/2018 之间的工作日数,其中 24 日和 25 日为假期。

我预计 bizdays 函数会返回 3 天(26 日、27 日和 28 日),但它会返回 2 天。

更让我困惑的是,如果我在该周内的五个工作日中的每个工作日调用 is.bizday,我会得到 3 个 TRUE 和 2 个 FALSE(我所期望的)。

有谁知道我做错了什么吗?

如果这按预期工作,是否有一个很好的解决方法来让两个日期之间的所有日期都包含在内?

代码如下:

> library(bizdays)
>
> holidays<-as.Date(c("2018-12-24", "2018-12-25"))
>
> calfr<-as.Date("2018-01-01")
> calto<-as.Date("2018-12-31")
>
> fr<-as.Date("2018-12-24")
> to<-as.Date("2018-12-28")
>
>
> cal <- create.calendar('mycal',holidays=holidays, weekdays=c("saturday", "sunday"), start.date = calfr, end.date = calto)
>
> bizdays(fr,to,cal)
[1] 2
>
> is.bizday(c('2018-12-24','2018-12-25','2018-12-26','2018-12-27','2018-12-28'), cal)
[1] FALSE FALSE TRUE TRUE TRUE

编辑:

我在 Calculating Business Days 找到了一个不涉及 bizdays 包的答案.

我把原来的问题留了下来,因为 bizdays 包具有不可思议的潜力,我仍然很好奇为什么它不起作用。

最佳答案

您应该在 create.calendar 函数中使用选项 financial=FALSE 为每次计算添加 1 天:

cal <- create.calendar('mycal', holidays=holidays, weekdays=c("saturday", "sunday"), start.date = calfr, end.date = calto,
financial=FALSE)

关于R 包 bizdays 给出意想不到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54078861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com