【发布时间】:2021-04-24 15:59:30
【问题描述】:
我想创建一个包含两列的表。第一个代表工作周,在下面的示例中命名为 time_axis。 第二列也是代表一年中特定事件的日期序列,称为bank_holidays。每个日期都有一个值来表示它的存在。 我需要的是创建一个表,其中第一列时间轴保持不变,第二列将是一个和零的向量。在包含 bank_holiday 中的事件的周之外的任何地方都出现零,并且在包含 bank_holiday 中的这些日期的周中出现零。每周以 time_axis 中的日期开始
library(xts)
time_axis <- seq(as.Date("2017-01-21"), length = 10, by = "weeks")
bank_holidays <- as.Date(c("2017-02-01", "2017-02-13", "2017-02-18", "2018-03-18"))
bank_holidays <- as.xts(rep(1,4), order.by = bank_holidays)
期望的结果:
df <- data.frame ( time_axis = c("2017-01-20", "2017-01-27", "2017-02-03", "2017-02-10", "2017-02-17", "2017-02-24", "2017-03-03", "2017-03-10", "2017-03-17", "2017-03-24"), bank_holidays = c(0, 1, 0,1,1,0,0,0,1,0))
df
关于如何制作它的任何想法? 谢谢。
需要牢记且数据不明显的一点:time_axis 上的星期从星期六开始。因此,2017-01-21 不是第 3 周的结束(如果这周从星期一开始),但已经是第 4 周了。
【问题讨论】:
标签: r date time-series