【发布时间】:2018-02-08 21:53:39
【问题描述】:
我有一个只包含一系列时间的数据表。我有另一个包含两列的数据表:start_time 和 end_time。我想获取第一个数据表并添加一个列,其中的值是第二个数据表中所有行的计数,其中第一个数据表的时间适合开始和结束时间。这是我的代码
start_date <- as.POSIXct(x = "2017-01-31 17:00:00", format = "%Y-%m-%d %H:%M:%S")
end_date <- as.POSIXct(x = "2017-02-01 09:00:00", format = "%Y-%m-%d %H:%M:%S")
all_dates <- as.data.table(seq(start_date, end_date, "min"))
colnames(all_dates) <- c("Bin")
start_times <- sample(seq(start_date,end_date,"min"), 100)
offsets <- sample(seq(60,7200,60), 100)
end_times <- start_times + offsets
input_data <- data.table(start_times, end_times)
这是我想要做的,但这是错误的并给出了错误。写这个的正确方法是什么?
all_dates[, BinCount := input_data[start_times < Bin & end_times > Bin, .N] ]
最后我应该得到类似的东西
Bin BinCount
2017-01-31 17:00:00 1
2017-01-31 17:01:00 5
...
【问题讨论】:
标签: r data.table