So finden sie doppelte elemente mit dplyr
Sie können die folgenden Methoden verwenden, um mit dplyr doppelte Elemente in einem Datenrahmen zu finden:
Methode 1: Alle doppelten Zeilen anzeigen
library (dplyr) #display all duplicate rows df %>% group_by_all() %>% filter(n()> 1 ) %>% A group()
Methode 2: Zeigen Sie die Anzahl der Duplikate für alle Duplikatzeilen an
library (dplyr)
#display duplicate count for all duplicated rows
df %>%
add_count(col1, col2, col3) %>%
filter(n> 1 ) %>%
distinct()
In diesem Tutorial wird erläutert, wie Sie die einzelnen Methoden in der Praxis mit dem folgenden Datenrahmen verwenden:
#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
Beispiel 1: Alle doppelten Zeilen anzeigen
Der folgende Code zeigt, wie alle doppelten Zeilen im Datenrahmen angezeigt werden:
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
Das Ergebnis ist ein Datenrahmen mit 6 Zeilen, von denen jede eine doppelte Zeile ist.
Hinweis : Wenn Sie nur wissen möchten, welche Zeilen in bestimmten Spalten doppelte Werte haben, können Sie stattdessen etwas wie „group_by(team)“ verwenden, um Zeilen zu finden, die nur in der Teamspalte doppelte Werte haben.
Beispiel 2: Zeigt die Anzahl der Duplikate für alle Duplikatzeilen an
Der folgende Code zeigt, wie die Duplikatanzahl für alle Duplikatzeilen im Datenrahmen angezeigt wird:
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
Spalte n zeigt die Gesamtzahl der Duplikate für jede Zeile an.
Zum Beispiel:
- Die Zeile mit den Werten A, G und 10 erscheint 2 Mal im Datenblock.
- Die Zeile mit den Werten B, G und 15 erscheint 2 Mal im Datenblock.
- Die Zeile mit den Werten B, F und 17 erscheint 2 Mal im Datenblock.
Hinweis : Wenn Sie nur wissen möchten, welche Zeilen in bestimmten Spalten doppelte Werte haben, schließen Sie nur diese bestimmten Spalten in die Funktion add_count() ein.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in R ausführen:
So filtern Sie eindeutige Werte mit dplyr
So filtern Sie mit dplyr nach mehreren Bedingungen
So zählen Sie die Anzahl der Vorkommen in Spalten in R