Я ищу способ определения перекрытия (в днях) между двумя интервалами дат. У меня есть столбцы startdate1, enddate1, startdate2, enddate2. Мне нужен дополнительный столбец с количеством дней перекрытия между интервалами (startdate1, enddate1) и (startdate2, enddate2).
Например, я хочу получить что-то вроде этого:
startdate1 enddate1 startdate2 enddate2 overlap
1/1/2020 1/10/2020 1/6/2020 1/16/2020 5
1/15/2020 1/29/2020 1/6/2020 1/20/2020 6
1/15/2020 1/29/2020 1/17/2020 1/20/2020 4
Я пытался добиться этого с помощью функции Interval из пакета DescTools:
df1$overlap<- Interval(as.Date(c(df1$startdate1, df1$enddate1)), as.Date(c(df1$startdate2, df1$enddate2)))
Но я получаю сообщение об ошибке:
as.Date.numeri c (c (df1 $ startdate1, df1 $ enddate1)): необходимо указать 'origin' "
Я также посмотрел пакет lubridate - я использовал функцию интервала (другую из описанного выше интервала DescTools) для создания столбцов интервал 1 и интервал 2, но я не знаю функции, которая может вычислять дни перекрытия между ними.
Любая помощь приветствуется. Заранее спасибо!