Cara melakukan join yang benar di r (dengan contoh)
Ada dua cara umum untuk melakukan join kanan di R:
Metode 1: Gunakan Basis R
merge(df1, df2, by=' column_to_join_on ', all. y = TRUE )
Metode 2: gunakan dplyr
library (dplyr) right_join(df1, df2, by=' column_to_join_on ')
Kedua metode akan mengembalikan semua baris dari df2 dan semua baris dengan kunci yang cocok dari df1 .
Perlu diperhatikan juga bahwa 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: Gabung kanan menggunakan Basis R
Kita dapat menggunakan fungsi merge() di basis R untuk melakukan penggabungan yang benar, menggunakan kolom ‘tim’ sebagai kolom untuk bergabung:
#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
Perhatikan bahwa semua baris dari df2 disertakan dalam bingkai data akhir, namun hanya baris dari df1 yang memiliki nama tim yang cocok yang disertakan dalam bingkai data akhir.
Contoh 2: Gabung kanan menggunakan dplyr
Kita dapat menggunakan fungsi right_join() dari paket dplyr untuk melakukan penggabungan yang benar, menggunakan kolom ‘team’ sebagai kolom untuk bergabung:
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
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 menambahkan kolom ke bingkai data di R
Cara menghapus kolom dari bingkai data di R