我正在读R中的excel文件,并计算该日期之前6个月的日期。如果日期是周末,则需要将日期更改为下一个工作日。
例如:日期为2020-2-7,则前六个月为2019-08-11。今天是星期天。如何将日期改为2019-08-12?
我尝试了以下代码:
date <- as.date.character("2020-2-7")
nxtd <- date-180
if(weekdays(nxtd)=="Saturday"){nxtd <- date-182} else if(weekdays(nxtd)=="Sunday"){nxtd <- date-181}
else{nxtd <- date-180}这段代码给出了一个错误/警告:“条件的长度大于1,只会使用第一个元素”
我该如何解决它?
发布于 2020-02-12 00:28:41
library(lubridate)
d1 = as.Date("2020-2-9")
d2 = d1 - 180
if(weekdays(d2) %in% c("Saturday", "Sunday")){
floor_date(d2 - 3, "week") + 8
} else {
d2
}https://stackoverflow.com/questions/60173285
复制相似问题