Ich habe zwei Datenrahmen x und y, die Spalten für IDs und für Daten enthalten.Join Dataframes nach ID und überlappenden Datumsbereich
id.x <- c(1, 2, 4, 5, 7, 8, 10)
date.x <- as.Date(c("2015-01-01", "2015-01-02", "2015-01-21", "2015-01-13", "2015-01-29", "2015-01-01", "2015-01-03"),format = "%Y-%m-%d")
x <- data.frame(id.x, date.x)
id.y <- c(1, 2, 3, 6, 7, 8, 9)
date.y <- as.Date(c("2015-01-03", "2015-01-29", "2015-01-22", "2015-01-13", "2015-01-29", "2014-12-31", "2015-01-03"), format = "%Y-%m-%d")
y <- data.frame(id.y, date.y)
Ich möchte sie in einen neuen Datenrahmen verbinden, indem z-ID und ob date.y passend tritt innerhalb date.x + 3 Tage, z.B. einzelne "1" hatte Ereignis "y" am Datum auftreten. y = "2015-01-03", die innerhalb von 3 Tagen des Ereignisses x auf date.x = "2015-01-01" ist.
Bitte beenden Sie die Verwendung von 'cbind', um data.frames zu erstellen. Dafür steht eine data.frame-Funktion zur Verfügung. – Arun
@Arun bekannt. Wenn jemand anders neugierig auf den Unterschied zwischen 'cbind.data.frame()' und 'data.frame()' war, ist er hier [https://docs.tibco.com/pub/enterprise-runtime- for-R/1.5.0_may_2013/TERR_1.5.0_LanguageRef/base/cbind.data.frame.html) – user6571411
Verwenden Sie 'check.names = FALSE' im Aufruf von' data.frame() '(um das Verhalten von' cbind.data.frame'), was der einzige Standardunterschied zu sein scheint. – Arun