ich zwei Datenrahmen haben (DF1 und DF2), ein Beispiel davon, wie diese aussieht:neue Spalten basierend auf Übereinstimmung zwischen zwei vorhandenen Spalten aus zwei Datenrahmen
df1 <- data.frame(StationID = c(1,1,1,2,2,3,3,3,3,3),
Cameras = c("Cam1","Cam2","Cam2","Cam1","Cam1","Cam2","Cam1","Cam2","Cam1","Cam1"),
Start = c("2013-04-23","2013-04-23","2013-04-23","2013-04-23","2013-04-23","2013-04-23","2013-04-23","2013-04-23","2013-04-23","2013-04-23"),
End = c("2013-04-25","2013-04-25","2013-04-25","2013-04-25","2013-04-25","2013-04-25","2013-04-25","2013-04-25","2013-04-25","2013-04-25"))
df2 <- data.frame(StationID = c(1,1,2,2,3,3),
Cameras = c("Cam1","Cam2","Cam1","Cam2","Cam1","Cam2"))
ich produzieren wollen Neuer Datenrahmen (df3), der nach einer Übereinstimmung zwischen zwei Spalten (StationID und Kameras) sucht und dann die Spalten "Start" und "Ende" an die entsprechenden Übereinstimmungen anfügt. Der Code muss basierend auf den Daten dynamisch neue Spalten hinzufügen, da einige Instanzen keine Übereinstimmungen aufweisen, während andere viele Übereinstimmungen aufweisen.
Beispiel Ausgabe unter:
StationID Cameras Start1 End1 Start2 End2 Start3 End3
1 1 Cam1 2013-04-23 2013-04-25 <NA> <NA> <NA> <NA>
2 1 Cam2 2013-04-23 2013-04-25 2013-04-23 2013-04-25 <NA> <NA>
3 2 Cam1 2013-04-23 2013-04-25 2013-04-23 2013-04-25 <NA> <NA>
4 2 Cam2 <NA> <NA> <NA> <NA> <NA> <NA>
5 3 Cam1 2013-04-23 2013-04-25 2013-04-23 2013-04-25 2013-04-23 2013-04-25
6 3 Cam2 2013-04-23 2013-04-25 2013-04-23 2013-04-25 <NA> <NA>
ich diese Aufgabe jede Hilfe dankbar würde.
Vielen Dank im Voraus!
danke für diesen Vorschlag. Es scheint genau das zu sein, wonach ich suche. Wenn ich den Code ausführe, erhalte ich den folgenden Fehler (Fehler in eval (expr, envir, enclos): Funktion "rowid" konnte nicht gefunden werden). Was mache ich hier falsch? – Ross
Ich habe es geschafft, das funktioniert. Ich hatte die CRAN-Version von data.table und nicht die Entwicklungsversion (v.1.9.7), die die rowid-Funktion enthält. Für diejenigen, die auf diese Version zugreifen müssen, gehen Sie einfach zu https://github.com/Rdatatable/data.table/wiki/Installation. Nochmals vielen Dank für die Hilfe von allen! – Ross