Hoe dubbele elementen te vinden met dplyr
U kunt de volgende methoden gebruiken om dubbele elementen in een dataframe te vinden met behulp van dplyr:
Methode 1: Toon alle dubbele rijen
library (dplyr) #display all duplicate rows df %>% group_by_all() %>% filter(n()> 1 ) %>% A group()
Methode 2: Toon het aantal duplicaten voor alle dubbele rijen
library (dplyr)
#display duplicate count for all duplicated rows
df %>%
add_count(col1, col2, col3) %>%
filter(n> 1 ) %>%
distinct()
In deze tutorial wordt uitgelegd hoe u elke methode in de praktijk kunt gebruiken met het volgende dataframe:
#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
Voorbeeld 1: Toon alle dubbele rijen
De volgende code laat zien hoe u alle dubbele rijen in het gegevensframe kunt weergeven:
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
Het resultaat is een dataframe met zes rijen, die elk een dubbele rij zijn.
Opmerking : als u alleen wilt weten welke rijen dubbele waarden hebben in specifieke kolommen, kunt u in plaats daarvan zoiets als group_by(team) gebruiken om rijen met dubbele waarden alleen in de teamkolom te vinden.
Voorbeeld 2: Toon het aantal duplicaten voor alle dubbele rijen
De volgende code laat zien hoe u het dubbele aantal voor alle dubbele rijen in het gegevensframe kunt weergeven:
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
Kolom n geeft het totale aantal duplicaten voor elke rij weer.
Bijvoorbeeld:
- De regel met de waarden A, G en 10 verschijnt 2 keer in het datablok.
- De regel met de waarden B, G en 15 verschijnt 2 keer in het datablok.
- De regel met de waarden B, F en 17 verschijnt 2 keer in het datablok.
Opmerking : als u alleen wilt weten welke rijen dubbele waarden hebben in specifieke kolommen, neemt u alleen die specifieke kolommen op in de functie add_count() .
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe unieke waarden te filteren met dplyr
Hoe u op meerdere voorwaarden kunt filteren met behulp van dplyr
Hoe het aantal exemplaren in kolommen in R te tellen