2

我想知道今天是否是本周在 R 中的最后一个工作日。我想getdate()Bizdays图书馆使用,所以我创建了输入我所在国家/地区假期的日历。但是,在下一步实际使用getdate()函数时,它只接受“年”和“月”作为参考,而不接受“周”。

library(bizdays)
create.calendar(name='Indonesia', holidays = tbl_Libur$Tanggal,
       weekdays=c('sunday', 'saturday'), financial = FALSE)
date.now <- Sys.Date()
    
getdate("last bizday", ref(date.now, "week"), "Indonesia")

上面代码的结果是

Error in match.arg(ym) : 'arg' should be one of “month”, “year”

有没有更好/更简单的方法,或者我将不得不使用暴力评估一周中的每一天is.bizday()并获得这样的最后一个真实值?

weekStart <- date.now - wday(date.now) + 1

for(i in 0:6){
  tgl <- weekStart + i
  if(is.bizday(tgl, "Indonesia")){
    result <- tgl  
  }
}
result

谢谢

4

0 回答 0