r-条件的长度大于循环时的长度大于1

  • 本文关键字:大于 条件 循环 r zoo
  • 更新时间 :
  • 英文 :


我正在编写一个功能,因此它返回了一个月和年度的一个月工作日。

它使用的是。IS.Bizday如果给定的日期是工作日或false,则返回true。

我的功能:

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的测试。每天都保持一天的收获,直到bizday返回true,以便条件!bizday for False and Breaks to。(应该)

我得到的"条件的长度大于循环时的长度大于1",不知道问题在哪里。

预先感谢

我认为您正在尝试将函数与日期向量一起使用,但是没有办法在以上的值中评估逻辑运算符。我建议您改用sapply()

date <- "122001"
dates <- c("122001", "091999")
UltDiaLabor(date) # works
UltDiaLabor(dates) # does not work
sapply(dates, UltDiaLabor) # works

最新更新