У меня есть столбец с датами (A) и столбец со списком дат (B). Вот как формат ввода:
+------+------------+--------------------------------------+
| Idx | date | list_of_dates |
+------+------------+--------------------------------------+
| 1 | 2015-01-07 |'2014-11-06','2015-08-05','2017-01-07'|
| 2 | 2016-02-13 |'2013-11-07','2015-12-05','2017-01-07'|
| 3 | 2013-11-08 |'2012-04-09','2014-02-15','2016-04-03'|
+------+------------+--------------------------------------+
Я хочу применить функцию к этому фрейму данных, чтобы создать третий столбец с именем closest_date
, где я бы нашел ближайшую дату (в будущем) в list_of_dates
для дата в date
. Для приведенного выше примера, результат будет:
+------+------------+--------------------------------------+-------------+
| Idx | date | list_of_dates |closest_date |
+------+------------+--------------------------------------+-------------+
| 1 | 2015-01-07 |'2014-11-06','2015-08-05','2017-01-07'| 2015-08-05 |
| 2 | 2016-02-13 |'2013-11-07','2015-12-05','2017-01-07'| 2017-01-05 |
| 3 | 2013-11-08 |'2012-04-09','2014-02-15','2016-04-03'| 2014-02-15 |
+------+------------+--------------------------------------+-------------+
Я смог написать функцию, которая берет дату и список дат и возвращает ближайший, затем использовал sapply
для создания столбца, но это чрезвычайно медленно.
У кого-нибудь есть эффективный подход к этому? Спасибо.