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