首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R包bizdays提供意外的结果

R包bizdays提供意外的结果
EN

Stack Overflow用户
提问于 2019-01-08 01:13:45
回答 1查看 747关注 0票数 3

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

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

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

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

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

如果这是预期的工作,有没有一个好的工作,以获得两个日期之间的所有日期?

代码如下:

代码语言:javascript
复制
> 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包的答案。

我把最初的问题留下来,因为bizday包有令人难以置信的潜力,我仍然很好奇为什么它不能工作。

EN

回答 1

Stack Overflow用户

发布于 2019-07-27 19:03:43

您应该使用option financial=FALSE inside create.calendar函数为每次计算添加1天:

代码语言:javascript
复制
cal <- create.calendar('mycal', holidays=holidays, weekdays=c("saturday", "sunday"), start.date = calfr, end.date = calto,
    financial=FALSE)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54078861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档