【发布时间】:2017-11-21 12:15:04
【问题描述】:
我有一个数据框,其中包含“thedate”列中的日期列表。
对于此列中的每个值,我需要它与 Sys.Date() 之间的工作日差异,然后乘以 195。
我想要类似的东西:
Sys.Date() "2017-11-21"
thedate | weekdays
-----------+--------------------------
2017-11-21 | 0
2017-11-22 | 195
2017-11-23 | 390
2017-11-24 | 585
2017-11-25 | 585 (because it's a saturday)
我的代码如下:
dates <- as.Date("2017-11-21"):as.Date("2020-11-20")
forecasting <- data.frame(thedate = as.Date(dates, origin = "1970-01-01"))
forecasting$weekdays <- 195 * sum(!weekdays(seq(Sys.Date(), forecasting$thedate, "days")) %in% c("Saturday", "Sunday"))
seq(Sys.Date(), forecasting$thedate, "days") 抛出一个错误: “'to' 的长度必须为 1”大概是因为我指的是整个列,但我不知道如何计算每列的工作日。
有没有办法对此进行调整,以便对于“thedate”列中的每个日期,我可以获得该日期与 sys.date 之间的工作日差异?
【问题讨论】:
标签: r