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


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

Methode 1: Verwenden Sie Base R

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

Methode 2: dplyr verwenden

 library (dplyr)

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

Beide Methoden geben alle Zeilen von df2 und alle Zeilen mit passenden Schlüsseln von df1 zurück.

Es ist auch erwähnenswert, dass beide Methoden das gleiche Ergebnis liefern, die dplyr-Methode jedoch bei extrem großen Datensätzen tendenziell schneller ist.

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: Rechtsverknüpfung mit Base R

Wir können die Funktion merge() in Basis-R verwenden, um eine Rechtsverknüpfung durchzuführen, wobei wir die Spalte „Team“ als Spalte verwenden, mit der verknüpft werden soll:

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

#view result
df3

  team points assists
1 to 18 4
2 B 22 9
3 C 19 14
4 D 14 13
5 L NA 10
6 M NA 8

Beachten Sie, dass alle Zeilen von df2 im endgültigen Datenrahmen enthalten waren, aber nur Zeilen von df1 , die einen passenden Teamnamen hatten, im endgültigen Datenrahmen enthalten waren.

Beispiel 2: Rechtsverknüpfung mit dplyr

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

 library (dplyr)

#perform right join using dplyr 
df3 <- right_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 L NA 10
6 M 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ügen Sie in R eine Spalte zum Datenrahmen hinzu
So entfernen Sie Spalten aus dem Datenrahmen in R

Einen Kommentar hinzufügen

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