У меня есть 2 набора данных, каждый из которых содержит значение даты и времени в формате POSIXlt и некоторые другие числовые и символьные переменные.R - Как присоединиться к двум кадрам данных к ближайшей дате?
Я хочу объединить оба набора данных на основе столбца даты и времени. Но штампы даты обоих наборов данных не совпадают, поэтому мне нужно объединить их по ближайшей дате (до или после). В моем примере значение данных «e» от 2016-03-01 23:52:00 должно быть объединено с «binH» в 2016-03-02 00:00:00, а не «binG».
Есть ли функция, которая позволила бы мне совместить мои наборы данных с ближайшим значением даты и времени, даже если это после?
Я нашел способы объединения дат со следующей предыдущей датой с помощью функции cut() или функции roll = Inf в data.tables. Но я не мог получить свои временные метки в любом формате roll = 'ближайшее'.
>df1
date1 value
1 2016-03-01 17:52:00 a
2 2016-03-01 18:01:30 b
3 2016-03-01 18:05:00 c
4 2016-03-01 20:42:30 d
5 2016-03-01 23:52:00 e
>df2
date2 bin_name
1 2016-03-01 17:00:00 binA
2 2016-03-01 18:00:00 binB
3 2016-03-01 19:00:00 binC
4 2016-03-01 20:00:00 binD
5 2016-03-01 21:00:00 binE
6 2016-03-01 22:00:00 binF
7 2016-03-01 23:00:00 binG
8 2016-03-02 00:00:00 binH
9 2016-03-02 01:00:00 binI
Надеюсь, вы действительно имели в виду формат POSIXct. Хранение векторов POSIXlt (которые действительно являются списками) в dataframes является рецептом для массового путаницы. –