У меня есть следующий фрейм данных df
:
Vehicle ID TIMESTAMP
6225 52 2019-04-14 04:00:24
6226 52 2019-04-14 04:00:25
6227 52 2019-04-14 04:00:26
6228 52 2019-04-14 04:00:27
6229 52 2019-04-14 04:00:28
6230 52 2019-04-14 04:00:29
6231 52 2019-04-14 04:00:30
6232 52 2019-04-14 04:00:31
6233 52 2019-04-14 04:00:32
6234 52 2019-04-14 04:00:33
6235 52 2019-04-14 04:00:34
6236 52 2019-04-14 04:00:35
6237 52 2019-04-14 04:00:36
5880 52 2019-04-02 07:30:02
5881 52 2019-04-02 07:30:03
5882 52 2019-04-02 07:30:05
5883 52 2019-04-02 07:30:06
5884 52 2019-04-02 07:30:07
5885 52 2019-04-02 07:30:08
5886 52 2019-04-02 07:30:09
5887 52 2019-04-02 07:30:10
Я хочу разделить фрейм данных на группы на основе разницы во времени между последовательными строками, которая меньше 20 секунд.Я пробовал следующий код, но он не работает, как я хотел, так как group
столбец принимает только значение 1 (а не 1 и 2, как я хочу).
df$group <- cumsum(ifelse(difftime(df$TIMESTAMP, shift(df$TIMESTAMP, fill = df$TIMESTAMP[1]), units = "secs") >= 20 ,1, 0)) + 1
df <- split(df, f = df$group)
Я должен это сделатьдля многих фреймов данных, поэтому я хочу общий кусок кода.Хотя я знаю, что есть похожие вопросы, я не нашел ответа на свой вопрос.
Заранее спасибо!