Cara menemukan elemen duplikat menggunakan dplyr
Anda dapat menggunakan metode berikut untuk menemukan elemen duplikat dalam bingkai data menggunakan dplyr:
Metode 1: Tampilkan semua baris duplikat
library (dplyr) #display all duplicate rows df %>% group_by_all() %>% filter(n()> 1 ) %>% A group()
Metode 2: Tampilkan jumlah duplikat untuk semua baris duplikat
library (dplyr)
#display duplicate count for all duplicated rows
df %>%
add_count(col1, col2, col3) %>%
filter(n> 1 ) %>%
distinct()
Tutorial ini menjelaskan cara menggunakan setiap metode dalam praktik dengan kerangka data berikut:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
points=c(10, 10, 8, 14, 15, 15, 17, 17))
#view data frame
df
team position points
1 AG 10
2 AG 10
3AF 8
4 AF 14
5 BG 15
6 BG 15
7 BF 17
8 BF 17
Contoh 1: Tampilkan semua baris duplikat
Kode berikut menunjukkan cara menampilkan semua baris duplikat dalam bingkai data:
library (dplyr)
#display all duplicate rows in data frame
df %>%
group_by_all() %>%
filter(n()> 1 ) %>%
A group()
# A tibble: 6 x 3
team position points
1 AG 10
2 AG 10
3 BG 15
4 BG 15
5 BF 17
6 BF 17
Hasilnya adalah bingkai data yang berisi 6 baris yang masing-masing merupakan baris duplikat.
Catatan : Jika Anda hanya ingin mengetahui baris mana yang memiliki nilai duplikat di kolom tertentu, Anda dapat menggunakan sesuatu seperti group_by(team) untuk menemukan baris yang memiliki nilai duplikat di kolom tim saja.
Contoh 2: Menampilkan jumlah duplikat untuk semua baris duplikat
Kode berikut menunjukkan cara menampilkan jumlah duplikat untuk semua baris duplikat dalam bingkai data:
library (dplyr)
#display duplicate count for each row
df %>%
add_count(team, position, points) %>%
filter(n> 1 ) %>%
distinct()
team position points n
1 GA 10 2
2 BG 15 2
3 BF 17 2
Kolom n menampilkan jumlah duplikat untuk setiap baris.
Misalnya:
- Garis dengan nilai A, G dan 10 muncul 2 kali pada blok data.
- Garis dengan nilai B, G dan 15 muncul 2 kali pada blok data.
- Garis dengan nilai B, F dan 17 muncul 2 kali pada blok data.
Catatan : Jika Anda hanya ingin mengetahui baris mana yang memiliki nilai duplikat di kolom tertentu, sertakan hanya kolom tertentu tersebut dalam fungsi add_count() .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di R:
Cara memfilter nilai unik menggunakan dplyr
Cara memfilter berdasarkan beberapa kondisi menggunakan dplyr
Cara menghitung jumlah kemunculan pada kolom di R