Ciao Ho due tabelle (tabella1 e tabella2 di seguito) e vorrei unirmi in base al timestamp più vicino per formare expected_output. Un qualche tipo di soluzione che coinvolge dplyr sarebbe grande se possibile, ma non se complica ulteriormente le cose.Unire due frame di dati in R sulla base del timestamp più vicino
table1 =
structure(list(date = structure(c(1437051300, 1434773700, 1431457200
), class = c("POSIXct", "POSIXt"), tzone = ""), val1 = c(94L,
33L, 53L)), .Names = c("date", "val1"), row.names = c(NA, -3L
), class = "data.frame")
table2 =
structure(list(date = structure(c(1430248288, 1435690482, 1434050843
), class = c("POSIXct", "POSIXt"), tzone = ""), val2 = c(67L,
90L, 18L)), .Names = c("date", "val2"), row.names = c(NA, -3L
), class = "data.frame")
expected_output =
structure(list(date = structure(c(1437051300, 1434773700, 1431457200
), class = c("POSIXct", "POSIXt"), tzone = ""), val1 = c(94L,
33L, 53L), val2 = c(90L, 18L, 67L)), .Names = c("date", "val1",
"val2"), row.names = c(NA, -3L), class = "data.frame")
Questo è molto utile! Qualche idea su come passare da "più vicino" a "più recente?" Cioè mantenere il tempo direzionale e non fondersi in una fila in futuro? – emudrak
@emudrak 'roll = Inf' directional illimitato. 'roll = 30' limite di direzione alla stoltezza. Usa il segno per controllare la direzione. –