Для каждой строки интервала дат в моем фрейме данных я хотел бы определить, перекрывается ли он со всеми другими интервалами дат или нет. Исключая себя.
Фрейм данных с начальной и конечной датой, представляющий интервалы:
`data <- read.table(header=TRUE,text="
start.date end.date
2019-09-01 2019-09-10
2019-09-05 2019-09-07
2019-08-25 2019-09-05
2019-10-10 2019-10-15
")`
Эта функция lubridate::int_overlaps()
проверяет, перекрываются ли два интервала даты, возвращая логические ИСТИНА или ЛОЖЬ.
`int_overlaps(interval(ymd("2019-09-01"),ymd("2019-09-10")), interval(ymd("2019-09-05"), ymd("2019-09-07")))
[1] TRUE
int_overlaps(interval(ymd("2019-09-01"),ymd("2019-09-10")), interval(ymd("2019-10-10"), ymd("2019-10-15")))
[1] FALSE`
Я бы хотел перебрать каждый интервал дат со всеми остальными интервалами дат, исключая себя, используя int_overlap (), чтобы определить, перекрывается ли он с другой датой.
Вывод должен выглядеть следующим образомэто:
`data <- read.table(header=TRUE,text="
start.date end.date overlaps
2019-09-01 2019-09-10 TRUE
2019-09-05 2019-09-07 TRUE
2019-08-25 2019-09-05 TRUE
2019-10-10 2019-10-15 FALSE
")
`