У меня есть список из 14 отдельных организмов из набора данных телеметрии, отслеживающих их движения. Я заинтересован в том, чтобы выяснить, пересекли ли они несколько определенных c барьеров в любой точке в течение периода мониторинга. Эти 14 человек в настоящее время хранятся в списке и имеют обнаружения от 100 до 100 000 обнаружений.
Пример набора данных приведен ниже:
Date Time Individual Location
2019-04-25 06:16:29 A69-1601-26907 DI 03
2019-04-25 06:23:31 A69-1601-26907 DI 03
2019-04-25 06:52:17 A69-1601-26907 BR 04
2019-04-25 07:41:31 A69-1601-26907 BR 04
2019-04-25 07:59:13 A69-1601-26907 BR 04
2019-04-25 08:16:19 A69-1601-26907 DI 03
2019-04-25 08:33:42 A69-1601-26907 DI 03
Цель состоит в том, чтобы извлечь две строки, в которых местоположение изменилось. Например, BR 04 и тот, что перед ним (строки 06:23:31 и 06:52:17), и поместите их в свой собственный фрейм данных. Затем также извлечь строки в 7:59:13 и 8:16:19, так как это означает, что этот человек снова пересек барьер. Делать это для всего набора данных для этого человека. В конце концов получим фрейм данных всех транзитов для этого одного человека.
Затем снова сделаем ту же функцию для остальных 13 человек в списке. Все они могут быть добавлены к одному и тому же фрейму данных или находиться в отдельном списке.
Я пытался использовать для l oop с операторами ifelse, но он ничего не возвращает.
Спасибо!