【发布时间】:2018-05-30 17:28:54
【问题描述】:
我有这个数据集:
test <- data.frame("Event" = c("A", "B", "C","D","E"),"startTime" = c("2017-08-01 00:37:27", "2017-08-01 00:44:32", "2017-08-01 23:30:00","2017-08-01 23:55:47", "2017-08-02 01:00:00" ), "endTime" = c("2017-08-01 20:13:13", "2017-08-01 21:30:45", "2017-08-02 09:00:00","2017-08-01 23:56:47", "2017-08-02 04:18:38"), "Bin" = c(1,1,2,1,2))
我想创建一个 Bin 列,您可以在其中根据 startTime 和 endTime 的 24 小时帧将值 1 分配给 n。例如,事件 A 和 B 属于 Bin(组)#1,因为它们都开始于 2017 年 8 月 1 日并结束于同一日期。但是,事件 C 属于 bin #2,因为它在第二天而不是 2017-08-01 结束。事件 D 属于 bin #2,因为它在 2017-08-02 开始和结束,依此类推。
我不知道如何根据这个逻辑正确分配组值。任何帮助将不胜感激!谢谢!
【问题讨论】:
-
那么在确定 Bin 时,只有结束日期很重要?
-
是的,这很重要
-
我不认为这个规则是明确表达的,但也许是
test$Bin2 <- as.integer(as.factor(as.Date(test$endTime, tz = "")))。 -
嗨,没有产生正确的组值分配,并且它不是以值 1 开始
-
如果 endTime 是 8-04 aka bin 是什么,bin 是从第一个 endtime 算起的天数,还是只是基于结束时间的条目号?
标签: r datetime grouping data-manipulation