R公司在工作上遇到了麻烦



我试图使用bizdays包生成一个包含两个日期之间的公共汽车天数的矢量。

fer = as.data.frame(as.Date(fer[1:938]))
#Define default calendar
bizdays.options$set(default.calendar=fer)
dt1 = as.Date(Sys.Date())
dt2 = as.Date(Sys.Date()-(365*10)) #sample 10 year window
#Create date vector
datas = bizseq(dt2, dt1)

我得到这个错误:" error in bizseq. "日期(dt2, dt1):给定日期超出范围。对于任何函数bizdays等都有相同的行为。

任何想法?

我有一个类似的问题,但不能将公认的答案应用到我的案例中。对我来说有效的是确保向量holidays中的第一个和最后一个假期至少涵盖(或超过)提供给bizdays()的日期范围:

   library(bizdays)

此作品(from_dateto_date均在holidays提供的第一个和最后一个假期内):

   holidays <- c("2016-08-10", "2016-08-13")
    from_date <- "2016-08-11"
    to_date <- "2016-08-12"
    cal <- Calendar(holidays, weekdays=c('sunday', 'saturday'))
    bizdays(from_date, to_date, cal)
    #1

这不起作用(to_dateholidays的最后一个假期之外):

    holidays <- c("2016-08-10", "2016-08-11")
    from_date <- "2016-08-11"
    to_date <- "2016-08-12"
    cal <- Calendar(holidays, weekdays=c('sunday', 'saturday'))
    bizdays(from_date, to_date, cal)
   # Error in bizdays.Date(from, to, cal) : Given date out of range.

如果fer是假日,您可以尝试:

bizdays.options$set(default.calendar=Calendar(holidays=fer))

最新更新