Ich möchte eine neue Spalte key
in meiner data.table erstellen, indem ich mit einer Nachschlagetabelle nach gemeinsamen Spalten fusioniere index1
& amp; %Code%. Dann möchte ich aus den Werten dieser neuen Spalte index2
( key
, a
, b
) 3 neue Spalten erzeugen ( c
, a
, b
), die die Indizes indexieren c
-Spalte in der data.table.
Meine Daten.Tabelle sieht folgendermaßen aus:
%Vor%Die Nachschlagetabelle ist dies:
%Vor%Das Endergebnis ist wie folgt:
%Vor% Ich habe versucht, es zu lösen, indem ich zuerst die data.table und die Nachschlagetabelle mit value
zusammenführte und dann merge()
drei verschiedene Male verwendete, um das obige Ergebnis zu erzielen. Ich bin ziemlich neu in data.table, würde aber gerne einen eleganteren Weg finden, um dies zu lösen, anstatt das Verfahren mehrmals zu wiederholen. Hier ist mein Code:
Da Sie bei index1 & amp; index2, können Sie merge
verwenden, wie Sie es haben, oder wenn Sie diese Tabellen als Schlüssel zuweisen, dann können Sie einfach []
verwenden, um sich anzumelden. (Wie in DT[lookup]
)
Dann können Sie über jede eindeutige key
von Ihrer Tabelle lookup
wie folgt iterieren
Ergebnisse:
%Vor%Tags und Links r data.table