So verbinden sie datenrahmen über mehrere spalten hinweg mit dplyr


Sie können die folgende grundlegende Syntax verwenden, um Datenrahmen in R basierend auf mehreren Spalten mit dplyr zu verbinden:

 library (dplyr)

left_join(df1, df2, by=c(' x1 '=' x2 ', ' y1 '=' y2 '))

Diese spezielle Syntax führt eine Linksverknüpfung durch, wenn die folgenden Bedingungen erfüllt sind:

  • Der Wert in Spalte x1 von df1 stimmt mit dem Wert in Spalte x2 von df2 überein.
  • Der Wert der Spalte y1 von df1 entspricht dem Wert der Spalte y2 von df2.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Mehrere Spalten mit dplyr verbinden

Angenommen, wir haben die folgenden zwei Datenrahmen in R:

 #define first data frame
df1 = data. frame (team=c('A', 'A', 'B', 'B'),
                 pos=c('G', 'F', 'F', 'G'),
                 dots=c(18, 22, 19, 14))

df1

  team pos points
1 AG 18
2 AF 22
3 BF 19
4 BG 14

#define second data frame
df2 = data. frame (team_name=c('A', 'A', 'B', 'C', 'C'),
                 position=c('G', 'F', 'F', 'G', 'F'),
                 assists=c(4, 9, 8, 6, 5))

df2

  team_name position assists
1 GA 4
2 AF 9
3 BF 8
4 CG 6
5 CF 5

Wir können die folgende Syntax in dplyr verwenden, um einen Links-Join basierend auf zwei Spalten durchzuführen:

 library (dplyr)

#perform left join based on multiple columns
df3 <- left_join(df1, df2, by=c(' team '=' team_name ', ' pos '=' position '))

#view result
df3

  team pos points assists
1 AG 18 4
2 AF 22 9
3 BF 19 8
4 BG 14 NA

Der resultierende Datenrahmen enthält alle Zeilen von df1 und nur Zeilen von df2 , in denen die Team- und Positionswerte übereinstimmen.

Beachten Sie außerdem, dass Sie, wenn beide Datenrahmen dieselben Spaltennamen haben, einfach die folgende Syntax verwenden können, um mehrere Spalten zu verbinden:

 library (dplyr)

#perform left join based on multiple columns
df3 <- left_join(df1, df2, by=c(' team ', ' position '))

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in R ausgeführt werden:

So führen Sie eine Linksverknüpfung in R durch
So führen Sie einen Right Join in R durch
So führen Sie einen Inner Join in R durch
So führen Sie einen Outer-Join in R durch

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert