Cara melakukan penggabungan luar di r (dengan contoh)
Ada dua cara umum untuk melakukan gabungan luar di R:
Metode 1: Gunakan Basis R
merge(df1, df2, by=' column_to_join_on ', all= TRUE )
Metode 2: gunakan dplyr
library (dplyr) full_join(df1, df2, by=' column_to_join_on ')
Setiap metode akan mengembalikan semua baris dari kedua tabel.
Kedua metode akan menghasilkan hasil yang sama, namun metode dplyr akan cenderung bekerja lebih cepat pada kumpulan data yang sangat besar.
Contoh berikut menunjukkan cara menggunakan masing-masing fungsi ini dalam praktik dengan bingkai data berikut:
#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
Contoh 1: Gabungan luar menggunakan Basis R
Kita dapat menggunakan fungsi merge() di basis R untuk melakukan penggabungan luar, menggunakan kolom ‘tim’ sebagai kolom untuk bergabung:
#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
Perhatikan bahwa semua baris di kedua bingkai data dikembalikan.
Contoh 2: Gabungan luar menggunakan dplyr
Kita dapat menggunakan fungsi full_join() dari paket dplyr untuk melakukan penggabungan luar, menggunakan kolom ‘tim’ sebagai kolom untuk bergabung:
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
Perhatikan bahwa ini sesuai dengan hasil yang kita peroleh dengan menggunakan fungsi merge() di basis R.
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