У меня есть набор данных с периодами времени, которые могут перекрываться, показывая мне, если кто-то присутствовал (example_df
).Я хочу получить набор данных, который разбивает большой период времени (с 2014-01-01 по 2014-10-31) на меньшие периоды времени, когда кто-то присутствовал (present = 1
), и периоды времени, когда никто не присутствовал (present = 0
).Результат должен выглядеть следующим образом: result_df
Пример кадра данных
example_df <- data.frame(ID = 1,
start = c(as.Date("2014-01-01"), as.Date("2014-03-05"), as.Date("2014-06-13"), as.Date("2014-08-15")),
end = c(as.Date("2014-04-07"), as.Date("2014-04-12"), as.Date("2014-08-05"), as.Date("2014-10-02")),
present = 1)
Результат должен выглядеть следующим образом
result_df <- data.frame(ID = 1,
start = c(as.Date("2014-01-01"), as.Date("2014-04-12"), as.Date("2014-06-13"), as.Date("2014-08-05"), as.Date("2014-08-15"), as.Date("2014-10-02")),
end = c(as.Date("2014-04-12"), as.Date("2014-06-13"), as.Date("2014-08-05"), as.Date("2014-08-15"), as.Date("2014-10-02"), as.Date("2014-10-31")),
present = c(1, 0, 1, 0, 1, 0))
Я понятия не имею, как решить эту проблему, так кактребуется разделить периоды времени или добавить строки (или что-то еще?).Любая помощь очень ценится!