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

Tambahkan komentar

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