【发布时间】:2019-07-19 12:43:18
【问题描述】:
我有一个大型数据框,其中每一行代表一个事件的单个实例。为便于说明,请考虑包含以下五列的数据框:
- 事件发生的日期和时间
- 事件的日期和时间 + 2 小时
- 事件的日期和时间 - 2 小时
- 事件所在城市
- 事件类型
请参阅下面的可重现示例。
library(dplyr)
library(lubridate)
set.seed(5567)
df <- data.frame(time = sample(seq(as.POSIXct('2019/01/10'),
as.POSIXct('2019/01/20'),
by="15 mins"), 100))
df <- mutate(df,
two.Before = df$time - hours(2),
two.After = df$time + hours(2),
loc = sample(c("New York", "Boston", "Atlanta", "Chicago"), 100,
replace=TRUE) %>% as.factor,
type = sample(c("Bus", "Car"), 100,
replace=TRUE) %>% as.factor)
head(df)
对于每个实例,我需要创建两个新列:
- 一列,其中包含在事件发生前两小时和事件发生后两小时内在该同一城市发生的实例数。
- 一个类似的列,其中统计了在该同一个城市发生的公共汽车事故和仅公共汽车事故的数量,在之前和之前的两个小时内事件发生两小时后。
如果有人可以提供帮助,将不胜感激。我的日期都是 posixCt 并且类别都是因素。非常感谢!
【问题讨论】: