Rijen verwijderen met dplyr (met voorbeelden)


U kunt de volgende basissyntaxis gebruiken om rijen uit een dataframe in R te verwijderen met behulp van dplyr:

1. Verwijder een rij met NA

 df %>%
  n / A. omit ()

2. Verwijder een rij met NA in een specifieke kolom

 df %>%
filter( ! is. na (column_name))

3. Verwijder duplicaten

 df %>%
  distinct()

4. Verwijder rijen op indexpositie

 df %>%
filter( ! row_number() %in% c(1, 2, 4))

5. Verwijder rijen op basis van voorwaarde

 df %>%
  filter(column1 == ' A ' | column2 > 8)

De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken met het volgende dataframe:

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C'),
                 points=c(4, NA, 7, 5, 9, 9),
                 assists=c(1, 3, 5, NA, 2, 2))

#view data frame
df

  team points assists
1 to 4 1
2 A NA 3
3 B 7 5
4 B 5 NA
5 C 9 2
6 C 9 2

Voorbeeld 1: Verwijder een rij met NA

De volgende code laat zien hoe u rijen met NA-waarden uit het dataframe kunt verwijderen:

 #remove any row with NA
df %>%
  n / A. omit ()

  team points assists
1 to 4 1
3 B 7 5
5 C 9 2
6 C 9 2

Voorbeeld 2: Verwijder elke rij met NA in specifieke kolommen

De volgende code laat zien hoe u elke rij met NA-waarden in een specifieke kolom kunt verwijderen:

 #remove any row with NA in 'points' column:
df %>%
  filter( ! is. na (dots))

  team points assists
1 to 4 1
2 B 7 5
3 B 5 NA
4 C 9 2
5 C 9 2

Voorbeeld 3: Dubbele rijen verwijderen

De volgende code laat zien hoe u dubbele rijen verwijdert:

 #remove duplicate rows
df %>%
  distinct()

  team points assists
1 to 4 1
2 A NA 3
3 B 7 5
4 B 5 NA
5 C 9 2

Voorbeeld 4: Rijen verwijderen op indexpositie

De volgende code laat zien hoe u rijen verwijdert op basis van de indexpositie:

 #remove rows 1, 2, and 4
df %>%
filter( ! row_number() %in% c(1, 2, 4))

  team points assists
1 B 7 5
2 C 9 2
3 C 9 2

Voorbeeld 5: Rijen verwijderen op basis van voorwaarde

De volgende code laat zien hoe u rijen verwijdert op basis van specifieke voorwaarden:

 #only keep rows where team is equal to 'A' or points is greater than 8
df %>%
  filter(column1 == ' A ' | column2 > 8)

  team points assists
1 to 4 1
2 A NA 3
3 C 9 2
4 C 9 2

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies in dplyr kunt uitvoeren:

Kolommen selecteren op index met behulp van dplyr
Variabelen sorteren op groep met dplyr
Hoe NA te vervangen door Zero in dplyr

Einen Kommentar hinzufügen

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