Como deletar linhas usando dplyr (com exemplos)


Você pode usar a seguinte sintaxe básica para remover linhas de um quadro de dados em R usando dplyr:

1. Exclua qualquer linha com NA

 df %>%
  n / A. omit ()

2. Exclua qualquer linha com NA em uma coluna específica

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

3. Remova duplicatas

 df %>%
  distinct()

4. Exclua linhas por posição de índice

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

5. Exclua linhas com base na condição

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

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

 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

Exemplo 1: Exclua qualquer linha com NA

O código a seguir mostra como remover quaisquer linhas contendo valores NA do quadro de dados:

 #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

Exemplo 2: Exclua qualquer linha com NA em colunas específicas

O código a seguir mostra como excluir qualquer linha contendo valores NA em uma coluna específica:

 #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

Exemplo 3: Remover linhas duplicadas

O código a seguir mostra como remover linhas duplicadas:

 #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

Exemplo 4: Excluir linhas por posição de índice

O código a seguir mostra como excluir linhas com base na posição do índice:

 #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

Exemplo 5: Excluir linhas com base na condição

O código a seguir mostra como excluir linhas com base em condições específicas:

 #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

Recursos adicionais

Os tutoriais a seguir explicam como executar outras funções comuns no dplyr:

Como selecionar colunas por índice usando dplyr
Como classificar variáveis por grupo usando dplyr
Como substituir NA por Zero no dplyr

Add a Comment

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