Cara melakukan cross join di r (dengan contoh)


Cara termudah untuk melakukan cross join di R adalah dengan menggunakan fungsi cross() dari paket Tidyr :

 library (tidyr)

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

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh: Melakukan Cross Join di R

Misalkan kita memiliki dua frame data berikut di 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

Kita dapat menggunakan fungsi Crossing() dari paket Tidyr untuk melakukan cross join pada dua frame data berikut:

 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

Hasilnya adalah bingkai data yang berisi semua kemungkinan kombinasi baris dari setiap bingkai data.

Misalnya, baris pertama dari bingkai data pertama berisi tim A dan 18 poin. Baris ini sesuai dengan setiap baris bingkai data kedua.

Kemudian baris kedua dari data frame pertama berisi tim B dan 22 poin. Baris ini juga sesuai dengan setiap baris pada bingkai data kedua.

Hasil akhirnya adalah bingkai data 12 baris.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di R:

Bagaimana cara melakukan gabung kiri di R
Bagaimana cara melakukan join yang benar di R
Bagaimana cara melakukan inner join di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *