So führen sie einen outer join in r durch (mit beispielen)


Es gibt zwei gängige Möglichkeiten, einen Outer-Join in R durchzuführen:

Methode 1: Verwenden Sie Base R

 merge(df1, df2, by=' column_to_join_on ', all= TRUE )

Methode 2: dplyr verwenden

 library (dplyr)

full_join(df1, df2, by=' column_to_join_on ')

Jede Methode gibt alle Zeilen aus beiden Tabellen zurück.

Beide Methoden liefern das gleiche Ergebnis, aber die dplyr- Methode ist bei extrem großen Datensätzen tendenziell schneller.

Die folgenden Beispiele zeigen, wie jede dieser Funktionen in der Praxis mit den folgenden Datenrahmen verwendet wird:

 #define first data frame
df1 = data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 points=c(18, 22, 19, 14, 14, 11, 20, 28))

df1

  team points
1 to 18
2 B 22
3 C 19
4 D 14
5 E 14
6 F 11
7 G 20
8:28 a.m.

#define second data frame
df2 = data. frame (team=c('A', 'B', 'C', 'D', 'L', 'M'),
                 assists=c(4, 9, 14, 13, 10, 8))

df2

  team assists
1 to 4
2 B 9
3 C 14
4 D 13
5 L 10
6 M 8

Beispiel 1: Outer Join mit Base R

Wir können die Funktion merge() in Basis-R verwenden, um einen Outer-Join durchzuführen, wobei wir die Spalte „Team“ als Spalte für den Join verwenden:

 #perform outer join using base R
df3 <- merge(df1, df2, by=' team ', all= TRUE )

#view result
df3

   team points assists
1 to 18 4
2 B 22 9
3 C 19 14
4 D 14 13
5 E 14 NA
6 F 11 NA
7 G 20 NA
8:28 AM NA
9L NA 10
10M NA 8

Beachten Sie, dass alle Zeilen in beiden Datenrahmen zurückgegeben werden.

Beispiel 2: Outer Join mit dplyr

Wir können die Funktion full_join() aus dem dplyr- Paket verwenden, um einen Outer-Join durchzuführen, wobei wir die Spalte „team“ als Spalte für den Join verwenden:

 library (dplyr)

#perform outer join using dplyr 
df3 <- full_join(df1, df2, by=' team ')

#view result
df3

   team points assists
1 to 18 4
2 B 22 9
3 C 19 14
4 D 14 13
5 E 14 NA
6 F 11 NA
7 G 20 NA
8:28 AM NA
9L NA 10
10M NA 8

Beachten Sie, dass dies dem Ergebnis entspricht, das wir mit der Funktion merge() in Basis R erhalten haben.

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

Einen Kommentar hinzufügen

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