【发布时间】:2017-03-08 14:12:16
【问题描述】:
我正在编写一个函数,以便在给定月份和年份的情况下返回该月的最后一个工作日。
它使用来自 bizdays 包的 is.bizday。如果给定日期是工作日,is.bizday 返回 TRUE,否则返回 FALSE。
我的功能:
library(bizdays)
UltDiaLabor <- function(mesanio) {
ult<-as.Date(as.yearmon(mesanio, "%m%Y"), frac = 1)
while(!is.bizday(ult)) {
ult=ult-1
}
return(ult)
}
它从 as.yearmon 提供的月份的最后一天开始,格式为“mmYYYY”并测试 bizday。一次减去一天,直到 is.bizday 返回 TRUE,因此条件 !is.bizday 变为 FALSE 并中断。 (应该)
我得到“条件在 while 循环中的长度大于 1”,但不知道问题出在哪里。
提前致谢
【问题讨论】:
-
你已经用谷歌搜索过那个错误了吗?
-
您的意见是什么?请提供
mesanio的最小示例。 -
我无法重现您的错误。该功能对我来说很好。您输入的是日期向量吗?
-
d
-