Я пытаюсь определить записи в фрейме данных, которые находятся в пределах 30 минут от первой записи в 30-минутном периоде, чтобы их можно было удалить (т. Е. 30-минутный период тишины), а затем новый 30-минутный период начинается со следующей записи.Каждая запись имеет столбец времени и даты.Я успешно нашел разницу во времени для каждой записи (они уже в порядке времени), поэтому мне нужно суммировать разницу во времени, пока они не достигнут 30 минут, а затем снова начать добавлять в следующем ряду до 30минут и тд.Как я могу кумулятивно добавить строки фрейма данных (разница во времени) в новый столбец, начиная с каждого раза, когда он достиг 30 минут?
Так выглядят данные.('difftime' - это время с момента последней записи в секундах, поэтому 1800 с = 30 мин.)
Species Time difftime
DEER 2019-06-12 00:20:00 NA
DEER 2019-06-12 03:41:00 12060
DEER 2019-06-12 04:30:00 2940
DEER 2019-06-12 04:58:00 1680
DEER 2019-06-12 05:08:00 600
DEER 2019-06-12 05:10:00 120
DEER 2019-06-12 05:21:00 660
DEER 2019-06-12 05:23:00 120
DEER 2019-06-12 05:44:00 1260
DEER 2019-06-12 05:45:00 60
Мне нужно добавить новый столбец, который кумулятивно добавляет 'difftime', пока он не станет больше 1800, вкоторый указывает, что он начинается снова с 0. Таким образом, это выглядело бы так ('qp' = период покоя)
Species Time difftime qp
DEER 2019-06-12 00:20:00 NA 0
DEER 2019-06-12 03:41:00 12060 0
DEER 2019-06-12 04:30:00 2940 0
DEER 2019-06-12 04:58:00 1680 1680
DEER 2019-06-12 05:08:00 600 0
DEER 2019-06-12 05:10:00 120 120
DEER 2019-06-12 05:21:00 660 720
DEER 2019-06-12 05:23:00 120 840
DEER 2019-06-12 05:44:00 1260 0
DEER 2019-06-12 05:45:00 60 60
Каждая запись, где qp = 0, обозначает начало 30-минутного периода покоя, что означаетвсе записи в течение следующих 30 минут должны быть проигнорированы.На этом этапе я бы сохранил все записи, где qp = 0, и удалил бы те, где qp> 0, потому что они попадают в 30-минутный период молчания начальной записи.
Итак, как мне создать столбец 'qp'?