R - идентифицировать последовательные последовательности
У меня есть большой файл с 107635 строками и 3 столбцами: тема, области интереса (ROI) и номер испытания. ROI могут быть A, B, C, D, E, F. То, что я хочу сделать, это сохранить только те испытания, в которых в колонке ROI у меня есть последовательная последовательность B, C, D, при первом появлении B , Не имеет значения, сколько раз происходит B, C и D.
В приведенном ниже примере я могу сохранить ntrial 78 и 201, потому что первый раз, когда появился B, следовали C и D. Однако мне нужно удалить ntrial 10 и 400. В пробе 10 B, C и D не подряд. В испытании 400 при первом появлении B, B не сопровождается C и D.
Для вывода мне просто нужен столбец со значением 1 для сохраняемых испытаний в каждой строке и значением 0 для строк, соответствующих удаляемым испытаниям.
Любое предложение о том, как создать код, который может автоматизировать процедуру, без визуальной проверки каждого испытания?
Большое спасибо!
subject ROI ntrial output
sbj05 A 78 1
sbj05 A 78 1
sbj05 A 78 1
sbj05 A 78 1
sbj05 A 78 1
sbj05 A 78 1
sbj05 B 78 1
sbj05 B 78 1
sbj05 C 78 1
sbj05 D 78 1
sbj05 E 78 1
sbj05 E 78 1
sbj05 E 78 1
sbj05 A 201 1
sbj05 A 201 1
sbj05 A 201 1
sbj05 A 201 1
sbj05 A 201 1
sbj05 B 201 1
sbj05 C 201 1
sbj05 D 201 1
sbj05 E 201 1
sbj05 E 201 1
sbj05 E 201 1
sbj05 F 201 1
sbj05 F 201 1
sbj05 A 10 0
sbj05 A 10 0
sbj05 A 10 0
sbj05 A 10 0
sbj05 B 10 0
sbj05 A 10 0
sbj05 C 10 0
sbj05 D 10 0
sbj05 E 10 0
sbj05 E 10 0
sbj05 A 400 0
sbj05 A 400 0
sbj05 A 400 0
sbj05 B 400 0
sbj05 A 400 0
sbj05 B 400 0
sbj05 C 400 0
sbj05 C 400 0
sbj05 C 400 0
sbj05 D 400 0
sbj05 E 400 0
sbj05 E 400 0
sbj05 D 400 0