R: como deletar linhas contendo uma string específica


Você pode usar a seguinte sintaxe para remover linhas contendo uma determinada string em um quadro de dados em R:

 df[!grepl(' string ', df$column),]

Este tutorial fornece vários exemplos de uso prático desta sintaxe com o seguinte quadro de dados em R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C'),
                 conference=c('East', 'East', 'East', 'West', 'West', 'East'),
                 dots=c(11, 8, 10, 6, 6, 5))

#view data frame
df

  team conference points
1 A East 11
2 A East 8
3 A East 10
4 B West 6
5 B West 6
6 C East 5

Exemplo 1: Remover linhas contendo uma string específica

O código a seguir mostra como excluir todas as linhas do quadro de dados que contêm “A” na coluna da equipe:

 df[!grepl(' A ', df$team),]

  team conference points
4 B West 6
5 B West 6
6 C East 5

Ou poderíamos remover todas as linhas do quadro de dados que contêm “Oeste” na coluna de conferência:

 df[!grepl(' West ', df$conference),]

  team conference points
1 A East 11
2 A East 8
3 A East 10
6 C East 5

Exemplo 2: Remover linhas que contêm uma string em uma lista

O código a seguir mostra como excluir todas as linhas do quadro de dados que contêm “A” ou “B” na coluna da equipe:

 df[!grepl(' A|B ', df$team),]

6 C East 5

Também poderíamos definir um vetor de strings e então excluir todas as linhas no quadro de dados contendo qualquer uma das strings do vetor na coluna da equipe:

 #define vector of strings
remove <- c(' A ', ' B ')

#remove rows that contain any string in the vector in the team column
df[!grepl( paste (remove, collapse=' | '), df$team),]

6 C East 5

Observe que ambos os métodos levam ao mesmo resultado.

Recursos adicionais

Como deletar linhas com alguns ou todos os NAs em R
Como remover linhas duplicadas em R
Como somar linhas específicas em R

Add a Comment

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