Jak usunąć wiersze z wartościami na za pomocą dplyr


Aby usunąć wiersze z wartościami NA, możesz użyć następujących metod z pakietu dplyr :

Metoda 1: Usuń wiersze z wartościami NA w dowolnej kolumnie

 library (dplyr)

#remove rows with NA value in any column
df %>%
  n / A. omit ()

Metoda 2: Usuń wiersze z wartościami NA w niektórych kolumnach

 library (dplyr)

#remove rows with NA value in 'col1' or 'col2'
df %>%
  filter_at(vars(col1, col2), all_vars( ! is. na (.)))

Metoda 3: Usuń wiersze z wartościami NA w określonej kolumnie

 library (dplyr)

#remove rows with NA value in 'col1'
df %>%
  filter( ! is. na (col1))

Poniższe przykłady pokazują, jak w praktyce wykorzystać te metody z następującą ramką danych:

 #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

Metoda 1: Usuń wiersze z wartościami NA w dowolnej kolumnie

Poniższy kod pokazuje, jak usunąć wiersze z wartościami NA w dowolnej kolumnie ramki danych:

 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

Jedyne dwa pozostałe wiersze to te, które nie zawierają wartości NA w żadnej kolumnie.

Metoda 2: Usuń wiersze z wartościami NA w niektórych kolumnach

Poniższy kod pokazuje, jak usunąć wiersze z wartościami NA w dowolnej kolumnie ramki danych:

 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

Jedyne pozostałe wiersze to te, które nie zawierają żadnych wartości NA w kolumnach „punkty” lub „asysty”.

Metoda 3: Usuń wiersze z wartościami NA w określonej kolumnie

Poniższy kod pokazuje, jak usunąć wiersze z wartościami NA w określonej kolumnie ramki danych:

 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

Jedyne pozostałe wiersze to te, które nie zawierają żadnej wartości NA w kolumnie „punkty”.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje za pomocą dplyr:

dplyr: Jak filtrować wiersze zawierające określone ciągi
dplyr: Jak zastąpić wartości NA zerem
dplyr: Jak korzystać z filtra „nie dołączonego”.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *