Jak znaleźć zduplikowane elementy za pomocą dplyr


Aby znaleźć zduplikowane elementy w ramce danych za pomocą dplyr, możesz użyć następujących metod:

Metoda 1: Pokaż wszystkie zduplikowane wiersze

 library (dplyr)

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

Metoda 2: Pokaż liczbę duplikatów dla wszystkich zduplikowanych wierszy

 library (dplyr)

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

W tym samouczku wyjaśniono, jak w praktyce używać każdej metody z następującą ramką danych:

 #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

Przykład 1: Pokaż wszystkie zduplikowane wiersze

Poniższy kod pokazuje, jak wyświetlić wszystkie zduplikowane wiersze w ramce danych:

 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

Rezultatem jest ramka danych zawierająca 6 wierszy, z których każdy jest zduplikowanym wierszem.

Uwaga : jeśli chcesz tylko wiedzieć, które wiersze mają zduplikowane wartości w określonych kolumnach, możesz zamiast tego użyć czegoś takiego jak group_by(team) , aby znaleźć wiersze, które mają zduplikowane wartości tylko w kolumnie zespołu .

Przykład 2: Pokaż liczbę duplikatów dla wszystkich zduplikowanych wierszy

Poniższy kod pokazuje, jak wyświetlić liczbę duplikatów dla wszystkich zduplikowanych wierszy w ramce danych:

 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

Kolumna n wyświetla całkowitą liczbę duplikatów w każdym wierszu.

Na przykład:

  • Linia z wartościami A, G i 10 pojawia się w bloku danych 2 razy.
  • Linia z wartościami B, G i 15 pojawia się w bloku danych 2 razy.
  • Linia z wartościami B, F i 17 pojawia się w bloku danych 2 razy.

Uwaga : Jeśli chcesz tylko wiedzieć, które wiersze zawierają zduplikowane wartości w określonych kolumnach, uwzględnij tylko te konkretne kolumny w funkcji add_count() .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak filtrować unikalne wartości za pomocą dplyr
Jak filtrować według wielu warunków za pomocą dplyr
Jak policzyć liczbę wystąpień w kolumnach w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *