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

Tambahkan komentar

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