Dplyr: cara menggunakan anti_join untuk menemukan catatan yang tidak cocok
Anda dapat menggunakan fungsi anti_join() dari paket dplyr di R untuk mengembalikan semua baris dalam bingkai data yang tidak memiliki nilai yang cocok di bingkai data lain.
Fungsi ini menggunakan sintaks dasar berikut:
anti_join(df1, df2, by= ' col_name ')
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh 1: Gunakan anti_join() dengan kolom
Misalkan kita memiliki dua frame data berikut di R:
#create data frames df1 <- data. frame (team=c('A', 'B', 'C', 'D', 'E'), dots=c(12, 14, 19, 24, 36)) df2 <- data. frame (team=c('A', 'B', 'C', 'F', 'G'), dots=c(12, 14, 19, 33, 17))
Kita dapat menggunakan fungsi anti_join() untuk mengembalikan semua baris di bingkai data pertama yang tidak memiliki tim yang cocok di bingkai data kedua:
library (dplyr) #perform anti join using 'team' column anti_join(df1, df2, by=' team ') team points 1 D 24 2 E 36
Kita dapat melihat bahwa ada tepat dua tim dari frame data pertama yang tidak memiliki nama tim yang cocok di frame data kedua.
Contoh 2: Gunakan anti_join() dengan banyak kolom
Misalkan kita memiliki dua frame data berikut di R:
#create data frames df1 <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), position=c('G', 'G', 'F', 'G', 'F', 'C'), dots=c(12, 14, 19, 24, 36, 41)) df2 <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'), position=c('G', 'G', 'C', 'G', 'F', 'F'), dots=c(12, 14, 19, 33, 17, 22))
Kita dapat menggunakan fungsi anti_join() untuk mengembalikan semua baris di bingkai data pertama yang tidak memiliki tim dan posisi yang cocok di bingkai data kedua:
library (dplyr) #perform anti join using 'team' and 'position' columns anti_join(df1, df2, by=c(' team ', ' position ')) team position points 1 FY 19 2 BC 41
Kita dapat melihat bahwa ada dua record dari frame data pertama yang tidak memiliki nama tim dan posisi yang cocok di frame data kedua.
Sumber daya tambahan
Tutorial berikut menjelaskan cara menjalankan fungsi umum lainnya di dplyr:
Cara memilih kolom berdasarkan indeks menggunakan dplyr
Cara menggabungkan beberapa frame data menggunakan dplyr
Cara memfilter baris yang berisi string tertentu menggunakan dplyr