Я пытаюсь объединить две таблицы данных, используя скользящее соединение. Я посмотрел на различные ответы, включая здесь , но, к сожалению, не смог найти тот, который помогает в этом случае. Я заимствую тот же пример из размещенной ссылки.
мой первый набор данных - это данные веб-сессии для двух пользователей 1 и 2:
user web_date_time
1 29-Oct-2016 6:10:03 PM
1 29-Oct-2016 7:34:17 PM
1 30-Oct-2016 2:08:03 PM
1 30-Oct-2016 3:55:12 PM
2 31-Oct-2016 11:32:12 AM
2 31-Oct-2016 2:59:56 PM
2 01-Nov-2016 12:49:44 PM
Моя вторая отметка времени для покупки:
user purchase_date_time
1 29-Oct-2016 6:10:00 PM
1 29-Oct-2016 6:11:00 PM
2 31-Oct-2016 11:35:12 AM
2 31-Oct-2016 2:50:00 PM
Мой желаемый вывод - какой веб-сеанс привел к покупке, но с ограничением. Ограничение - веб-сессия должна быть после предыдущей покупки. Желаемый результат выглядит следующим образом (требуется для всех покупок дополнительный столбец «websession_led_purchase»):
user purchase_date_time websession_led_purchase
1 29-Oct-2016 6:10:00 PM NA
1 29-Oct-2016 6:11:00 PM 29-Oct-2016 6:10:03 PM
2 31-Oct-2016 11:35:12 AM 31-Oct-2016 11:32:12 AM
2 31-Oct-2016 2:50:00 PM NA
Первый NA не отвечает за веб-сессию до этой покупки, второй NA - за отсутствие веб-сессий после предыдущей покупки (и до покупки), которая привела ко второй покупке для пользователя 2.
Я попытался использовать метод roll join dt2 [dt1, roll = Inf], однако я получаю «31-Oct-2016 11:32:12 AM» для четвертой строки в желаемом выводе, что неверно.
Дайте мне знать ваш совет.