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

Tambahkan komentar

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