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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert