Wenn ich richtig verstehe, fusioniert standardmäßig zwei Tabellen durch den Vergleich von Spalten, die als Schlüssel festgelegt sind und denselben Namen haben. Wie soll ich schreiben, wenn ich Tabellen mit verschiedenen Spaltennamen habe? Zum Beispiel:Tabellen mit verschiedenen Spaltennamen verschmelzen
set.seed(123)
DT1<-data.table(col1=sample(letters,5,replace=TRUE),col2=sample(LETTERS[1:5],5,replace=TRUE),col3=sample(1:2,5,replace=TRUE))
DT2<-data.table(col4=sample(1:3,10,replace=TRUE),col5=sample(LETTERS[1:5],10,replace=TRUE),col6=sample(1:100,10,replace=TRUE))
(DT1)
(DT2)
> (DT1)
col1 col2 col3
1: h A 2
2: u C 1
3: k E 2
4: w C 2
5: y C 1
> (DT2)
col4 col5 col6
1: 3 D 48
2: 1 C 76
3: 1 C 22
4: 1 B 32
5: 3 A 24
6: 3 E 15
7: 3 E 42
8: 2 D 42
9: 3 D 37
10: 2 A 16
Was soll ich in DT1[
schreibe eine Zusammenführung der Auswahl nur Zeilen mit col2 == COL5 & col3 == col4 zu machen? Hier ist eine erwartete Ausgabe:
col1 col2 col3 col4 col5 col6
h A 2 2 A 16
u C 1 1 C 76
u C 1 1 C 22
y C 1 1 C 76
y C 1 1 C 22
Vielen Dank im Voraus!
Können Sie uns die Ausgabe zeigen, die Sie erwarten? – Arun
sicher, nur eine Sekunde –
Ich füge hinzu, dass dies eine gute Frage zu berücksichtigen ist, wenn Sie versuchen herauszufinden, warum 'data.table' in den" falschen "Spalten zusammengeführt, wenn Sie die Schlüssel nicht umsichtig angegeben haben. – MichaelChirico