r - 给定日期向量的下周日期
问题描述
我试图在 R 中获取下一个工作日的日期向量。我的方法是创建一个工作日向量,然后找到我拥有的周末日期的日期。问题是周六和一些假期(在我的国家很多)我最终得到了前一个工作日,这不起作用。
这是我的问题的一个例子:
vecDates = as.Date(c("2011-01-11","2011-01-12","2011-01-13","2011-01-14","2011-01-17","2011-01-18",
"2011-01-19","2011-01-20","2011-01-21","2011-01-24"))
testDates = as.Date(c("2011-01-22","2011-01-23"))
findInterval(testDates,vecDates)
对于这两个日期,正确答案应该是 10,即“2011-01-24”,但我得到 9。我想一个解决方案,我删除所有以前的日期到我正在分析的日期,然后使用findInterval
. 它可以工作,但它不是矢量化的,因此有点慢,不适合我的实际目的。
解决方案
这是做你想做的吗?
vecDates = as.Date(c("2011-01-11","2011-01-12",
"2011-01-13","2011-01-14",
"2011-01-17","2011-01-18",
"2011-01-19","2011-01-20",
"2011-01-21","2011-01-24"))
testDates = as.Date(c("2011-01-20","2011-01-22","2011-01-23"))
get_next_biz_day <- function(testdays, bizdays){
o <- findInterval(testdays, bizdays) + 1
bizdays[o]
}
get_next_biz_day(testDates, vecDates)
#[1] "2011-01-21" "2011-01-24" "2011-01-24"
推荐阅读
- tsql - TSQL 文本 LOB 列查询单独执行时有效,包含在 CTE 中时失败
- python - 使用 python 创建具有多列的电子表格
- reactjs - 如何将 express 与 webpack 代码拆分和反应路由器一起使用?
- java - 如何从 CompletableFuture 获取结果
- > 在 Java 8 中
- python-3.x - 如何将 ChoiceField 选项传递给表单集?
- c# - 比较 JSON 数组和 JSON 对象:无法将数组转换为字符串错误
- r - 在 R 中比较两个数据帧之间的几列的最快方法是什么?
- kendo-ui - 如何在 Kendo DatePicker 中阻止日期
- java - 将外部 jar 文件添加到 OSGi 应用程序会导致问题
- java - 在 javaFX 中使用 MVC 模型更改视图