Bagaimana melakukan gabung kiri di r (dengan contoh)
Anda dapat menggunakan fungsi merge() untuk melakukan penggabungan kiri di basis R:
#left join using base R merge(df1,df2, all. x = TRUE )
Anda juga dapat menggunakan fungsi left_join() dari paket dplyr untuk melakukan penggabungan kiri:
#left join using dplyr
dplyr::left_join(df2, df1)
Catatan: Jika Anda bekerja dengan kumpulan data yang sangat besar, fungsi left_join() akan cenderung lebih cepat daripada fungsi merge() .
Contoh berikut menunjukkan cara menggunakan masing-masing fungsi ini dalam praktik dengan bingkai data berikut:
#define first data frame df1 <- data. frame (team=c(' Mavs ', ' Hawks ', ' Spurs ', ' Nets '), dots=c(99, 93, 96, 104)) df1 team points 1 Mavs 99 2 Hawks 93 3 Spurs 96 4 Nets 104 #define second data frame df2 <- data. frame (team=c(' Mavs ', ' Hawks ', ' Spurs ', ' Nets '), rebounds=c(25, 32, 38, 30), assists=c(19, 18, 22, 25)) df2 team rebound assists 1 Mavs 25 19 2 Hawks 32 18 3 Spurs 38 22 4 Nets 30 25
Contoh 1: Gabung kiri menggunakan Basis R
Kita dapat menggunakan fungsi merge() di basis R untuk melakukan penggabungan kiri, menggunakan kolom ‘tim’ sebagai kolom untuk bergabung:
#perform left join using base R merge(df1, df2, by=' team ', all. x = TRUE ) team points rebound assists 1 Hawks 93 32 18 2 Mavs 99 25 19 3 Nets 104 30 25 4 Spurs 96 38 22
Contoh 2: Gabung ke kiri menggunakan dplyr
Kita dapat menggunakan fungsi left_join() dari paket dplyr untuk melakukan join kiri, menggunakan kolom ‘team’ sebagai kolom untuk bergabung:
library (dplyr) #perform left join using dplyr left_join(df1, df2, by=' team ') team points rebound assists 1 Mavs 99 25 19 2 Hawks 93 32 18 3 Spurs 96 38 22 4 Nets 104 30 25
Satu perbedaan yang akan Anda lihat antara kedua fungsi ini adalah fungsi merge() secara otomatis mengurutkan baris berdasarkan abjad berdasarkan kolom yang Anda gunakan untuk melakukan penggabungan.
Sebaliknya, fungsi left_join() mempertahankan urutan asli baris pada bingkai data pertama.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di R:
Bagaimana cara melakukan inner join di R
Bagaimana melakukan pencocokan fuzzy di R
Bagaimana cara menambahkan kolom ke bingkai data di R
Cara menghapus kolom dari bingkai data di R