У меня есть фрейм данных, где у меня есть несколько точек данных на каждого участника. Двумя переменными столбца являются xmin и xmax. Я вычислил диапазон х. Каждые два участника взаимодействуют, поэтому их данные должны быть взаимодополняющими. Вот почему у меня также есть столбец, указывающий, говорите ли вы или молчите (сс). Сейчас я пытаюсь организовать участников, чередуя строки на основе xmin. Я пробовал простые подмножества, фильтрации и мутации. Сейчас я пытаюсь сделать это для отдельной пары (например, участники 1 и 2). Я пытался по ID и Xmin и ID и сс.
Вот ОБРАЗЦЫ ДАННЫХ:
VP xmin xmax range ss
001a 0 1.2 1.2 0
001a 1.2 4.7 3.5 1
001a 4.7 14.7 10.0 0
001a 14.7 40.4 25.7 1
...
001b 0 4.7 4.7 0
001b 4.7 12.8 8.1 1
001b 12.8 16.6 3.8 0
001b 16.6 18.2 1.6 1
001b 18.2 38.8 20.6 0
...
Вот что я пробовал до сих пор:
#These were not all tried at the same time, rather I did not want to delete a line in case it worked.
#001ab <- subset(mydata, ID == '001a' | ID == '001b')
#001ab <- interleave(001ab[001ab$ss == 0,], 001ab[001ab$ss == 1,], drop = TRUE)
#001ab <- 001ab %>% arrange(xmin & ID)
#001ab <- 001ab %>% mutate(overlap = as.integer(xmin >= lag(xmax)))
ЖЕЛАЕМЫЙ ВЫХОД:
VP xmin xmax range ss
001a 0 1.2 1.2 0
001b 0 4.7 4.7 0
001a 1.2 4.7 3.5 1
001b 4.7 12.8 8.1 1
001a 4.7 14.7 10.0 0
001b 12.8 16.6 3.8 0
001a 14.7 40.4 25.7 1
001b 16.6 18.2 1.6 1
...
По сути, я хочу, чтобы идентификаторы участников чередовались в строках в зависимости от потока разговора (времени). Должен ли я далее подмножество говорить и молчать? Тогда как бы я оттуда чередовал?