Ich kann keine Lösung für dieses Problem finden. Ich habe zwei Datenrahmen. DF1 und DF2. Ich möchte die Spalten von DF2 zu DF1 zusammenführen, wenn der Zeitstempel in DF1 innerhalb des in DF2 angegebenen Zeitintervalls liegt. Hier ist ein Beispiel für die beiden Datenrahmen:Mischen Sie zwei Datenrahmen, wenn der Zeitstempel von x innerhalb des Zeitintervalls von y liegt
DF1 <- structure(list(Airspeed = c(582L, 478L, 524L), Outbound.Track = c(119L, 78L,134L), Rem.Ground.Dist = c(369L, 119L, 196L), Timestamp=structure(c(1451636817.52577, 1451638203.76569, 1451637753.43511),class = c("POSIXct", "POSIXt"), tzone = "")), .Names =c("Airspeed", "Outbound.Track","Rem.Ground.Dist", "Timestamp"), row.names =c(1L, 12L, 7L), class = c("data.table", "data.frame"))
DF2 <- structure(list(Temperature = c(-18.5, -60, -35), Wind_Direction = c("324", "335", "313"), Wind_Speed = c("032", "041", "056"), onebef =structure(c(1451629620, 1451634660, 1451637000), class = c("POSIXct", "POSIXt"), tzone = ""), oneaft = structure(c(1451636820, 1451641860, 1451644200), class =c("POSIXct", "POSIXt"))), .Names = c("Temperature", "Wind_Direction", "Wind_Speed","onebef", "oneaft"), row.names = c(1358L, 1654L, 2068L), class = "data.frame")
head(DF1)
head(DF2)
Ich möchte DF1 mit DF2 verschmelzen. Wenn also eine Übereinstimmung vorliegt (der Zeitstempel von DF1 liegt innerhalb des Zeitintervalls eines beliebigen DF2), sollten die Werte von DF2 (Wind_Speed, Wind_Direction, Temperature) zu DF1 hinzugefügt werden.
Zwei Probleme Ich bin vor:
Wie das Spiel tun/fusionieren? Mein Datenrahmen ist ziemlich groß (7000 Zeilen in DF1 und DF2)
Wie sicherzustellen, dass Zeilen von DF1 dupliziert werden, wenn es mehrere Übereinstimmungen gibt?
Ich freue mich auf Ihre Hilfe! Dank
oder '... auf d1.Timestamp zwischen d2.onebef und d2.oneaft' –