Come trovare elementi duplicati usando dplyr


È possibile utilizzare i seguenti metodi per trovare elementi duplicati in un frame di dati utilizzando dplyr:

Metodo 1: mostra tutte le righe duplicate

 library (dplyr)

#display all duplicate rows
df %>%
  group_by_all() %>%
  filter(n()> 1 ) %>%
  A group()

Metodo 2: mostra il numero di duplicati per tutte le righe duplicate

 library (dplyr)

#display duplicate count for all duplicated rows
df %>%
  add_count(col1, col2, col3) %>%
  filter(n> 1 ) %>%
  distinct()

Questo tutorial spiega come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #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

Esempio 1: mostra tutte le righe duplicate

Il codice seguente mostra come visualizzare tutte le righe duplicate nel frame di dati:

 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

Il risultato è un frame di dati contenente 6 righe, ciascuna delle quali è una riga duplicata.

Nota : se vuoi solo sapere quali righe hanno valori duplicati in colonne specifiche, puoi utilizzare qualcosa come group_by(team) invece per trovare le righe che hanno valori duplicati solo nella colonna del team .

Esempio 2: mostra il numero di duplicati per tutte le righe duplicate

Il codice seguente mostra come visualizzare il conteggio dei duplicati per tutte le righe duplicate nel frame di dati:

 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

La colonna n mostra il numero totale di duplicati per ogni riga.

Per esempio:

  • La riga con i valori A, G e 10 appare 2 volte nel blocco dati.
  • La riga con i valori B, G e 15 appare 2 volte nel blocco dati.
  • La riga con i valori B, F e 17 appare 2 volte nel blocco dati.

Nota : se desideri solo sapere quali righe hanno valori duplicati in colonne specifiche, includi solo quelle colonne specifiche nella funzione add_count() .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come filtrare valori univoci utilizzando dplyr
Come filtrare in base a più condizioni utilizzando dplyr
Come contare il numero di occorrenze nelle colonne in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *