2016-07-04 68 views
0

正在使用bizdays軟件包生成兩個日期之間的公交車日期的向量。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) 

我收到此錯誤:「bizseq.Date(dt2,dt1)中的錯誤:給定日期超出範圍。」 相同的行爲任何功能bizdays等人。

有什麼想法?

回答

0

如果fer是假期,你可以嘗試用:

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

Tks HubertL,您的解決方案奏效!必須設置週末: bizdays.options $ set(default.calendar = Calendar(holidays = fer,weekdays = c(「saturday」,「sunday」))) –

1

我也有類似的問題,但接受的答案可能並不適用於我的情況。什麼工作對我來說是要確保在矢量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 

這不的holidays的最後一個節日外工作(to_date謊言):

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.