R: como usar o grepl com vários modelos


Você pode usar a seguinte sintaxe básica com a função grepl() em R para filtrar linhas em um quadro de dados contendo um dos vários padrões de string em uma coluna específica:

 library (dplyr)

new_df <- filter(df, grepl(paste(my_patterns, collapse=' | '), my_column))

Esta sintaxe específica filtra o quadro de dados em busca de linhas onde o valor da coluna chamada my_column contém um dos padrões de string no vetor chamado my_patterns .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: como usar grepl() com vários modelos em R

Suponha que temos o seguinte quadro de dados em R que contém informações sobre vários times de basquete:

 #create data frame
df <- data. frame (team=c('Mavs', 'Hawks', 'Nets', 'Heat', 'Cavs'),
                 points=c(104, 115, 124, 120, 112),
                 status=c('Bad', 'Good', 'Excellent', 'Great', 'Bad'))

#view data frame
df

   team points status
1 Mavs 104 Bad
2 Hawks 115 Good
3 Nets 124 Excellent
4 Heat 120 Great
5 Cavs 112 Bad

Suponha que queiramos filtrar o quadro de dados para conter apenas linhas onde a string da coluna de status contém um dos seguintes padrões de string:

  • ‘BOM’
  • ‘Cinza’
  • ‘Ex’

Podemos usar a seguinte sintaxe com a função grepl() para fazer isso:

 library (dplyr)

#define patterns to search for
my_patterns <- c(' Good ', ' Gre ', ' Ex ')

#filter for rows where status column contains one of several strings
new_df <- filter(df, grepl(paste(my_patterns, collapse=' | '), status))

#view results
new_df

   team points status
1 Hawks 115 Good
2 Nets 124 Excellent
3 Heat 120 Great

Observe que o quadro de dados foi filtrado para conter apenas linhas onde a string na coluna de status contém um dos três padrões que especificamos.

Observe que usar a função Paste() com o argumento Collapses=’|’ na verdade, procuramos a string “Good|Gre|Ex” na coluna de status .

Desde | O símbolo em R significa “OR”, conseguimos encontrar as linhas contendo “Bom” ou Gre” ou “Ex” na coluna de status .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como alterar uma variável se a coluna contém uma string usando dplyr
Como remover o primeiro caractere de strings usando dplyr
Como substituir uma string em uma coluna usando dplyr

Add a Comment

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