首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在R中将周末日期更改为工作日日期

在R中将周末日期更改为工作日日期
EN

Stack Overflow用户
提问于 2020-02-12 00:21:18
回答 1查看 45关注 0票数 0

我正在读R中的excel文件,并计算该日期之前6个月的日期。如果日期是周末,则需要将日期更改为下一个工作日。

例如:日期为2020-2-7,则前六个月为2019-08-11。今天是星期天。如何将日期改为2019-08-12?

我尝试了以下代码:

代码语言:javascript
运行
复制
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,只会使用第一个元素”

我该如何解决它?

EN

回答 1

Stack Overflow用户

发布于 2020-02-12 00:28:41

代码语言:javascript
运行
复制
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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60173285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档