So führen sie einen cross-join in r durch (mit beispiel)


Der einfachste Weg, einen Cross-Join in R durchzuführen, ist die Verwendung der Funktion cross() aus dem Tidyr- Paket:

 library (tidyr)

#perform cross join on df1 and df2
crossing(df1, df2)

Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel: Durchführen eines Cross Joins in R

Angenommen, wir haben die folgenden zwei Datenrahmen in R:

 #define first data frame
df1 = data. frame (team1=c('A', 'B', 'C', 'D'),
                 dots=c(18, 22, 19, 14))

df1

  team1 points
1 to 18
2 B 22
3 C 19
4 D 14

#define second data frame
df2 = data. frame (team2=c('A', 'B', 'F'),
                 assists=c(4, 9, 8)) 

df2

  team2 assists
1 to 4
2 B 9
3 F 8

Wir können die Funktion „crossing()“ aus dem Tidyr- Paket verwenden, um einen Cross-Join für diese beiden Datenrahmen durchzuführen:

 library (tidyr)

#perform cross join 
cross <- crossing(df1, df2)

#view result
cross

# A tibble: 12 x 4
   team1 points team2 assists
         
 1 A 18 A 4
 2 A 18 B 9
 3 A 18 F 8
 4 B 22 A 4
 5 B 22 B 9
 6 B 22 F 8
 7 C 19 A 4
 8 C 19 B 9
 9 C 19 F 8
10 D 14 A 4
11 D 14 B 9
12 D 14 F 8

Das Ergebnis ist ein Datenrahmen, der alle möglichen Zeilenkombinationen aus jedem Datenrahmen enthält.

Beispielsweise enthält die erste Zeile des ersten Datenrahmens Team A und 18 Punkte. Diese Zeile entspricht jeder Zeile des zweiten Datenrahmens.

Dann enthält die zweite Zeile des ersten Datenrahmens Team B und 22 Punkte. Diese Zeile entspricht auch jeder Zeile des zweiten Datenrahmens.

Das Endergebnis ist ein 12-zeiliger Datenrahmen.

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