So führen sie einen vlookup (ähnlich wie excel) in r durch
Mit der SVERWEIS- Funktion in Excel können Sie einen Wert in einer Tabelle finden, indem Sie ihn einer Spalte zuordnen.
In der folgenden Excel-Tabelle können wir beispielsweise nach dem Teamnamen eines Spielers suchen, indem wir SVERWEIS verwenden, um den Namen des Spielers abzugleichen und das Team des Spielers zurückzugeben:
Wir können diese Funktion mit Base R oder dem dplyr-Paket replizieren:
Verwendung von Base R:
merge(df1, df2, by=" merge_column ")
Mit dplyr:
inner_join(df1, df2, by=" merge_column ")
Die folgenden Beispiele zeigen, wie Sie jede dieser Funktionen in R verwenden, um die SVERWEIS-Funktion aus Excel zu replizieren.
VLOOKUP mit Base R
Der folgende Code zeigt, wie man mit der Funktion merge() eine VLOOKUP-ähnliche Funktion in Basis-R ausführt:
#create first data frame df1 <- data.frame(player= LETTERS [1:15], team= rep (c(' Mavs ', ' Lakers ', ' Rockets '), each =5)) #create second data frame df2 <- data.frame(player= LETTERS [1:15], points=c(14, 15, 15, 16, 8, 9, 16, 27, 30, 24, 14, 19, 8, 6, 5)) #merge the two data frames merge(df1, df2, by=" player ") player team points 1 A Mavs 14 2 B Mavs 15 3C Mavs 15 4D Mavs 16 5 E Mavs 8 6 F Lakers 9 7G Lakers 16 8 a.m. Lakers 27 9 I Lakers 30 10 J Lakers 24 11K Rockets 14 12L Rockets 19 13 M Rockets 8 14 N Rockets 6 15 O Rockets 5
Beachten Sie, dass dies dieselben Ergebnisse zurückgibt wie die VLOOKUP-Funktion im Einführungsbeispiel. Beachten Sie außerdem, dass Sie mithilfe des Arguments by mehrere Spalten zum Zusammenführen angeben können.
SVERWEIS mit dplyr
library (dplyr) #create first data frame df1 <- data.frame(player= LETTERS [1:15], team= rep (c(' Mavs ', ' Lakers ', ' Rockets '), each =5)) #create second data frame df2 <- data.frame(player= LETTERS [1:15], points=c(14, 15, 15, 16, 8, 9, 16, 27, 30, 24, 14, 19, 8, 6, 5)) #merge the two data frames using inner_join inner_join(df1, df2, by=" player ") player team points 1 A Mavs 14 2 B Mavs 15 3C Mavs 15 4D Mavs 16 5 E Mavs 8 6 F Lakers 9 7G Lakers 16 8 a.m. Lakers 27 9 I Lakers 30 10 J Lakers 24 11K Rockets 14 12L Rockets 19 13 M Rockets 8 14 N Rockets 6 15 O Rockets 5
Beachten Sie, dass dies dieselben Ergebnisse zurückgibt wie die SVERWEIS-Funktion in Excel. Beachten Sie außerdem, dass Sie mithilfe des Arguments by mehrere Spalten zum Zusammenführen angeben können.
Wenn Sie außerdem möchten, dass Nichtübereinstimmungen angezeigt werden, können Sie die Funktion left_join verwenden.
Zusätzliche Ressourcen
So berechnen Sie kumulative Summen in R
So standardisieren Sie Daten in R
So fügen Sie Zeilen zu einem Datenrahmen in R hinzu