Como deletar linhas com valores na usando dplyr


Você pode usar os seguintes métodos do pacote dplyr para remover linhas com valores NA:

Método 1: Remover linhas com valores NA em qualquer coluna

 library (dplyr)

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

Método 2: Remover linhas com valores NA em determinadas colunas

 library (dplyr)

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

Método 3: Remover linhas com valores NA em uma coluna específica

 library (dplyr)

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

Os exemplos a seguir mostram como usar esses métodos na prática com o seguinte quadro de dados:

 #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

Método 1: Remover linhas com valores NA em qualquer coluna

O código a seguir mostra como remover linhas com valores NA em qualquer coluna do quadro de dados:

 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

As únicas duas linhas restantes são aquelas sem valores de NA em nenhuma coluna.

Método 2: Remover linhas com valores NA em determinadas colunas

O código a seguir mostra como remover linhas com valores NA em qualquer coluna do quadro de dados:

 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

As únicas linhas restantes são aquelas sem nenhum valor de NA nas colunas “pontos” ou “assistências”.

Método 3: Remover linhas com valores NA em uma coluna específica

O código a seguir mostra como remover linhas com valores NA em uma coluna específica do quadro de dados:

 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

As únicas linhas restantes são aquelas sem nenhum valor NA na coluna “pontos”.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns usando dplyr:

dplyr: Como filtrar linhas contendo determinadas strings
dplyr: Como substituir valores NA por zero
dplyr: Como usar um filtro “não incluído”

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *