Я пытаюсь извлечь определенные данные из большого набора данных, используя R. Данные взяты из процесса, который проходит несколько этапов, скажем, фазы 0-5. У меня есть набор данных, который содержит несколько запусков процесса.
Я пытаюсь извлечь данные для каждого из прогонов. Я хочу создать подмножества с первым появлением фазы от 0 до 5, а затем с другим подмножеством снова с фазами от 0 до 5 (второго запуска). Набор данных содержит только данные процесса и номер фазы в хронологическом порядке, он не указывает, в каком цикле он находится. Однако фазы расположены по порядку, поэтому столбец фазы переходит от 0 до 5, а затем снова начинается с 0.
Я уже пытался организовать данные, используя некоторые циклы while и for, однако это очень медленно для такого большого набора данных (700 000 записей). Даже использование небольшого раздела из 10000 записей занимает довольно много времени.
набор данных может выглядеть примерно так (второй столбец - фаза):
01, 0, 2, 4, 5, 3, 4,
02, 0, 3, 4, 5, 2, 2,
03, 0, 4, 5, 4, 9, 8,
04, 1, 8, 9, 2, 7, 3,
05, 1, 8, 7, 0, 7, 8,
06, 2, 8, 4, 9, 7, 8,
07, 2, 9, 7, 5, 0, 8,
08, 2, 8, 6, 5, 7, 9,
07, 2, 8, 7, 6, 7, 9,
08, 3, 7, 8, 6, 7, 9,
09, 3, 7, 9, 8, 7, 8,
10, 4, 5, 6, 7, 4, 3,
11, 4, 6, 7, 5, 6, 4,
12, 5, 6, 4, 3, 2, 2,
13, 0, 6, 3, 3, 2, 5,
14, 0, 5, 6, 3, 2, 2,
15, 1, 5, 2, 1, 4, 4,
обратите внимание, что число линий на фазу не является постоянным.
Подмножества, которые я ожидал бы из приведенного выше примера, будут:
01, 0, 2, 4, 5, 3, 4,
02, 0, 3, 4, 5, 2, 2,
03, 0, 4, 5, 4, 9, 8,
04, 1, 8, 9, 2, 7, 3,
05, 1, 8, 7, 0, 7, 8,
06, 2, 8, 4, 9, 7, 8,
07, 2, 9, 7, 5, 0, 8,
08, 2, 8, 6, 5, 7, 9,
07, 2, 8, 7, 6, 7, 9,
08, 3, 7, 8, 6, 7, 9,
09, 3, 7, 9, 8, 7, 8,
10, 4, 5, 6, 7, 4, 3,
11, 4, 6, 7, 5, 6, 4,
12, 5, 6, 4, 3, 2, 2,
и
13, 0, 6, 3, 3, 2, 5,
14, 0, 5, 6, 3, 2, 2,
15, 1, 5, 2, 1, 4, 4,
(примечание: в исходном наборе данных фаза всегда заканчивается на 5)