【发布时间】:2020-09-01 05:32:09
【问题描述】:
我的数据框是这样的:
Device_id Group Nb_burst Date_time
24 1 3 2018-09-02 10:04:04
24 1 5 2018-09-02 10:08:00
55 2 3 2018-09-03 10:14:34
55 2 7 2018-09-03 10:02:29
16 3 2 2018-09-20 08:17:11
16 3 71 2018-09-20 06:03:40
22 4 10 2018-10-02 11:33:55
22 4 14 2018-10-02 16:22:18
我想知道,仅对于相同的 ID、相同的组号和相同的日期,两行之间的时间差。
如果时间延迟 > 1 小时,那么可以全部保留。
如果 timelag
这意味着像这样的数据框:
Device_id Group Nb_burst Date_time
24 1 5 2018-09-02 10:08:00
55 2 7 2018-09-03 10:02:29
16 3 71 2018-09-20 06:03:40
22 4 10 2018-10-02 11:33:55
22 4 14 2018-10-02 16:22:18
我试过了:
Data$timelag <- c(NA, difftime(Data$Min_start.time[-1], Data$Min_start.time[-nrow(Data)], units="hours"))
但我不知道只有在 Date、ID 和 Group 相同时如何测试,可能是一个循环。 我的 df 有 1500 行。
希望有人可以帮助我。谢谢 !
【问题讨论】:
-
尝试
data.table移位功能,例如:stackoverflow.com/questions/38900293/…