Hoe rijen met na-waarden te verwijderen met dplyr
U kunt de volgende methoden uit het dplyr- pakket gebruiken om rijen met NA-waarden te verwijderen:
Methode 1: Verwijder rijen met NA-waarden in elke kolom
library (dplyr) #remove rows with NA value in any column df %>% n / A. omit ()
Methode 2: Verwijder rijen met NA-waarden in bepaalde kolommen
library (dplyr) #remove rows with NA value in 'col1' or 'col2' df %>% filter_at(vars(col1, col2), all_vars( ! is. na (.)))
Methode 3: Verwijder rijen met NA-waarden in een specifieke kolom
library (dplyr) #remove rows with NA value in 'col1' df %>% filter( ! is. na (col1))
De volgende voorbeelden laten zien hoe u deze methoden in de praktijk kunt gebruiken met het volgende dataframe:
#create data frame with some missing values
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C'),
points=c(99, 90, 86, 88, NA),
assists=c(33, NA, 31, 39, 34),
rebounds=c(NA, 28, 24, 24, 28))
#view data frame
df
team points assists rebounds
1 A 99 33 NA
2 A 90 NA 28
3 B 86 31 24
4 B 88 39 24
5 C NA 34 28
Methode 1: Verwijder rijen met NA-waarden in elke kolom
De volgende code laat zien hoe u rijen met NA-waarden in elke kolom van het dataframe kunt verwijderen:
library (dplyr) #remove rows with NA value in any column df %>% n / A. omit () team points assists rebounds 3 B 86 31 24 4 B 88 39 24
De enige twee resterende rijen zijn de rijen zonder NA-waarden in welke kolom dan ook.
Methode 2: Verwijder rijen met NA-waarden in bepaalde kolommen
De volgende code laat zien hoe u rijen met NA-waarden in elke kolom van het dataframe kunt verwijderen:
library (dplyr) #remove rows with NA value in 'points' or 'assists' columns df %>% filter_at(vars(points, assists), all_vars( ! is. na (.))) team points assists rebounds 1 A 99 33 NA 2 B 86 31 24 3 B 88 39 24
De enige rijen die overblijven zijn de rijen zonder NA-waarden in de kolommen ‘punten’ of ‘assisten’.
Methode 3: Verwijder rijen met NA-waarden in een specifieke kolom
De volgende code laat zien hoe u rijen met NA-waarden in een specifieke kolom van het dataframe verwijdert:
library (dplyr) #remove rows with NA value in 'points' column df %>% filter( ! is. na (dots)) team points assists rebounds 1 A 99 33 NA 2 A 90 NA 28 3 B 86 31 24 4 B 88 39 24
De enige rijen die overblijven zijn de rijen zonder NA-waarde in de kolom ‚punten‘.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen kunt uitvoeren met dplyr:
dplyr: Hoe rijen te filteren die bepaalde strings bevatten
dplyr: NA-waarden vervangen door nul
dplyr: Hoe een “niet inbegrepen” filter te gebruiken