sagen, dass ich zwei Datenrahmen haben:Besondere kommen in R-Datenrahmen
df1<- data.frame(id1=c('A','B','C','D','P'),
id2=c('P','H','Q','S','A'),weight=c(3,4,2,7,3), stringsAsFactors=FALSE)
df2<- data.frame(id1=c('A','H','Q','D','P'),
id2=c('P','B','C','S','Z'),var=c(2,1,2,2,1), stringsAsFactors=FALSE)
Ich möchte diese beiden Datenrahmen von id1
und id2
beitreten, aber manchmal werden die Datensätze in beiden Tabellen geschaltet. Zum Beispiel sollte die zweite und dritte Aufzeichnung jedes Rahmens gleich sein und die Ausgabe in der fusionierten Tabelle sein soll:
B H 4 1
C Q 2 2
Ich dachte zuerst die Spalten sortieren und tun, um die Zusammenführung aber dieser Ansatz nicht funktioniert, weil Nicht alle Datensätze erscheinen in beiden Tabellen (auch nach dem Sortieren können Sie id1
und id2
geschaltet haben). Dies ist ein Spielzeugbeispiel, aber in der tatsächlichen Anwendung sind id1
und id2
lange Zeichenfolgen.
Was ist ein Weg, um diese Aufgabe zu bewältigen?
Standard Lösung hierfür ist die Verwendung 'paste0 (pmin (ID1, ID2), pmax (ID1, ID2))' statt einer pro-Zeile sort – eddi
@eddi guter. – agstudy