Мне нужно создать последовательность значений (называемую «seq» в фрейме данных ниже) на основе хронологического объекта (здесь даты). Чтобы построить новую последовательность, временной интервал между двумя датами должен быть строго больше 1 часа.Создать последовательность значений на основе хронологического объекта
Ниже приведен пример
ID date seq
A 2010-04-14 02:00:12 1
A 2010-04-14 02:00:12 1
A 2010-04-14 03:00:10 1
A 2010-04-14 03:00:10 1
A 2010-04-14 04:00:15 1
A 2010-04-14 04:00:15 1
A 2010-04-14 08:00:10 2
A 2010-04-14 08:00:10 2
B 2010-04-14 03:00:18 3
B 2010-04-14 03:00:18 3
B 2010-04-14 04:00:10 3
B 2010-04-14 04:00:10 3
B 2010-04-14 10:00:14 4
B 2010-04-14 10:00:14 4
B 2010-04-14 11:00:10 4
B 2010-04-14 11:00:10 4
данных
tab <- data.frame(ID= rep(c("A","B"), each=8), date= as.POSIXct(c('2010-04-14 02:00:12','2010-04-14 02:00:12','2010-04-14 03:00:10', '2010-04-14 03:00:10','2010-04-14 04:00:15','2010-04-14 04:00:15','2010-04-14 08:00:10','2010-04-14 08:00:10','2010-04-14 03:00:18','2010-04-14 03:00:18','2010-04-14 04:00:10','2010-04-14 04:00:10','2010-04-14 10:00:14','2010-04-14 10:00:14','2010-04-14 11:00:10','2010-04-14 11:00:10'), format='%Y-%m-%d %H:%M:%S'))
Что-то вроде '1L + cumsum (diff (tab $ date)> 60 * 60)' – Frank