【发布时间】:2020-08-18 20:37:52
【问题描述】:
我有一个数据框,每行都有时间窗口。时间窗口由每个 ID 的 start_date 和 end_date 标识。 对于每个日历日,我想知道 ID 的时间窗口如何跨越这一天。
示例数据
data <- data.frame(
id = c("A","B","C"),
start_date = as.POSIXct(c("2020-01-01 01:00:00", "2020-01-02 01:00:00", "2020-01-03 01:00:00")),
end_date = as.POSIXct(c("2020-01-04 01:00:00", "2020-01-03 01:00:00", "2020-01-06 01:00:00")),
stringsAsFactors = FALSE
)
data
id start_date end_date
1 A 2020-01-01 01:00:00 2020-01-04 01:00:00
2 B 2020-01-02 01:00:00 2020-01-03 01:00:00
3 C 2020-01-03 01:00:00 2020-01-06 01:00:00
我正在寻找的输出是将其聚合为每天存在的 ID 数量的天。
day number_of_ids
2020-01-01 1
2020-01-02 2
2020-01-03 3
2020-01-04 2
2020-01-05 1
2020-01-06 1
非常感谢任何帮助。
【问题讨论】: