Como encontrar elementos duplicados usando dplyr


Você pode usar os seguintes métodos para localizar elementos duplicados em um quadro de dados usando dplyr:

Método 1: mostrar todas as linhas duplicadas

 library (dplyr)

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

Método 2: mostrar o número de duplicatas para todas as linhas duplicadas

 library (dplyr)

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

Este tutorial explica como usar cada método na prática com o seguinte quadro de dados:

 #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

Exemplo 1: Mostrar todas as linhas duplicadas

O código a seguir mostra como exibir todas as linhas duplicadas no quadro de dados:

 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

O resultado é um quadro de dados contendo 6 linhas, cada uma delas uma linha duplicada.

Nota : Se você deseja apenas saber quais linhas possuem valores duplicados em colunas específicas, você pode usar algo como group_by(team) para encontrar linhas que possuem valores duplicados apenas na coluna da equipe .

Exemplo 2: mostre o número de duplicatas para todas as linhas duplicadas

O código a seguir mostra como exibir a contagem duplicada para todas as linhas duplicadas no quadro de dados:

 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

A coluna n exibe o número total de duplicatas para cada linha.

Por exemplo:

  • A linha com os valores A, G e 10 aparece 2 vezes no bloco de dados.
  • A linha com os valores B, G e 15 aparece 2 vezes no bloco de dados.
  • A linha com os valores B, F e 17 aparece 2 vezes no bloco de dados.

Nota : Se você deseja apenas saber quais linhas possuem valores duplicados em colunas específicas, inclua apenas essas colunas específicas na função add_count() .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como filtrar valores únicos usando dplyr
Como filtrar por múltiplas condições usando dplyr
Como contar o número de ocorrências em colunas em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *