【发布时间】:2017-01-13 09:29:26
【问题描述】:
我正在尝试使用以下代码获取日期之间所有工作日的向量:
days_of_month = seq(as.Date("2017-01-01"), as.Date("2017-01-31"), by="days")
sundays = c(as.Date("2017-01-01"), as.Date("2017-01-08"), as.Date("2017-01-15"), as.Date("2017-01-22"), as.Date("2017-01-29"))
当我这样做时:
working_days = setdiff(days_of_month, sundays)
setdiff的返回值是一个奇怪值的向量:
[1] 17168 17169 17170 17171 17172 17173 17175 17176 17177 17178 17179 17180
[13] 17182 17183 17184 17185 17186 17187 17189 17190 17191 17192 17193 17194
[25] 17196 17197
这些值是什么?以及如何获得days_of_month 中但不在sundays 中的日子的向量?
【问题讨论】:
-
也许是
as.Date(setdiff(days_of_month, sundays), origin = "1970-01-01")?你想修改向量,星期天。那是行不通的。 -
这些奇怪的值只是自 1970-01-01 以来的天数(默认来源)。
-
days_of_month[!days_of_month %in% sundays]