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