Ich habe 2 Datensätze, die jeweils einen Datum-Uhrzeit-Wert im POSIXlt-Format und einige andere Zahlen- und Zeichenvariablen enthalten.R - Wie zwei Datenrahmen am nächsten Zeit-Datum zu verbinden?
Ich möchte beide Datensätze basierend auf der Datum-Uhrzeit-Spalte kombinieren. Aber die Datumsstempel beider Datensätze stimmen nicht überein, daher muss ich sie mit dem nächsten Datum (vorher oder nachher) kombinieren. In meinem Beispiel muss der Datenwert "e" vom 2016-03-01 23:52:00 mit "binH" am 2016-03-02 00:00:00, nicht "binG" kombiniert werden.
Gibt es eine Funktion, die es mir erlauben würde, meine Datensätze mit dem nächsten Datum-Zeit-Wert zu kombinieren, auch wenn es danach ist?
Ich habe Wege gefunden, Daten mit dem nächsten vorherigen Datum mit der Funktion cut() oder der Funktion roll = Inf in data.tables zu kombinieren. Aber ich konnte meine Zeitstempel nicht in ein beliebiges Format bringen, das 'nearest' akzeptieren würde.
>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
Ich hoffe, Sie wirklich POSIXct-Format gemeint. Das Speichern von POSIXlt-Vektoren (die wirklich Listen sind) in Datenrahmen ist ein Rezept für massive Verwirrung. –