Cara menggabungkan bingkai data di beberapa kolom menggunakan dplyr


Anda dapat menggunakan sintaks dasar berikut untuk menggabungkan bingkai data di R berdasarkan beberapa kolom menggunakan dplyr:

 library (dplyr)

left_join(df1, df2, by=c(' x1 '=' x2 ', ' y1 '=' y2 '))

Sintaks khusus ini akan melakukan penggabungan kiri jika kondisi berikut ini benar:

  • Nilai pada kolom x1 dari df1 cocok dengan nilai pada kolom x2 dari df2.
  • Nilai kolom y1 dari df1 sesuai dengan nilai kolom y2 dari df2.

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Menggabungkan beberapa kolom menggunakan dplyr

Misalkan kita memiliki dua frame data berikut di R:

 #define first data frame
df1 = data. frame (team=c('A', 'A', 'B', 'B'),
                 pos=c('G', 'F', 'F', 'G'),
                 dots=c(18, 22, 19, 14))

df1

  team pos points
1 AG 18
2 AF 22
3 BF 19
4 BG 14

#define second data frame
df2 = data. frame (team_name=c('A', 'A', 'B', 'C', 'C'),
                 position=c('G', 'F', 'F', 'G', 'F'),
                 assists=c(4, 9, 8, 6, 5))

df2

  team_name position assists
1 GA 4
2 AF 9
3 BF 8
4 CG 6
5 CF 5

Kita dapat menggunakan sintaks berikut di dplyr untuk melakukan penggabungan kiri berdasarkan dua kolom:

 library (dplyr)

#perform left join based on multiple columns
df3 <- left_join(df1, df2, by=c(' team '=' team_name ', ' pos '=' position '))

#view result
df3

  team pos points assists
1 AG 18 4
2 AF 22 9
3 BF 19 8
4 BG 14 NA

Bingkai data yang dihasilkan berisi semua baris dari df1 dan hanya baris dari df2 yang nilai tim dan posisinya cocok.

Perhatikan juga bahwa jika kedua bingkai data berbagi nama kolom yang sama, Anda cukup menggunakan sintaks berikut untuk menggabungkan beberapa kolom:

 library (dplyr)

#perform left join based on multiple columns
df3 <- left_join(df1, df2, by=c(' team ', ' position '))

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
Bagaimana cara melakukan gabung luar di R

Tambahkan komentar

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