R: verifique se a string contém várias substrings


Você pode usar os seguintes métodos em R para verificar se uma string contém várias substrings:

Método 1: verifique se a string contém uma das várias substrings

 df$contains_any <- apply(sapply(find_strings, grepl, df$team), 1 , any )

Esta sintaxe específica verifica se cada string na coluna team contém uma das strings especificadas no vetor de string chamado find_strings .

Método 2: verifique se a string contém várias substrings

 df$contains_any <- apply(sapply(find_strings, grepl, df$team), 1 , all )

Esta sintaxe específica verifica se cada string na coluna team contém todas as strings especificadas no vetor de string chamado find_strings .

Os exemplos a seguir mostram como usar cada método na prática com o seguinte quadro de dados em R:

 #create data frame
df = data. frame (team=c('Good East Team', 'Good West Team', 'Great East Team',
                       'Great West Team', 'Bad East Team', 'Bad West Team'),
                points=c(93, 99, 105, 110, 85, 88))

#view data frame
df

             team points
1 Good East Team 93
2 Good West Team 99
3 Great East Team 105
4 Great West Team 110
5 Bad East Team 85
6 Bad West Team 88

Exemplo 1: Verifique se a string contém uma das várias substrings

Podemos usar a seguinte sintaxe para verificar se cada string na coluna da equipe contém a substring “Bom” ou “É”:

 #define substrings to look for
find_strings <- c(' Good ', ' East ')

#check if each string in team column contains either substring
df$good_or_east <- apply(sapply(find_strings, grepl, df$team), 1 , any )

#view updated data frame
df

             team points good_or_east
1 Good East Team 93 TRUE
2 Good West Team 99 TRUE
3 Great East Team 105 TRUE
4 Great West Team 110 FALSE
5 Bad East Team 85 TRUE
6 Bad West Team 88 FALSE

A nova coluna good_or_east retorna os seguintes valores:

  • VERDADEIRO se a equipe contiver “Bom” ou “É”
  • FALSO se a equipe não contém nem “Bom” nem “Leste”

Exemplo 2 : Verifique se a string contém várias substrings

Podemos usar a seguinte sintaxe para verificar se cada string na coluna da equipe contém as substring “Bom” e “Is”:

 #define substrings to look for
find_strings <- c(' Good ', ' East ')

#check if each string in team column contains either substring
df$good_and_east <- apply(sapply(find_strings, grepl, df$team), 1 , all )

#view updated data frame
df

             team points good_and_east
1 Good East Team 93 TRUE
2 Good West Team 99 FALSE
3 Great East Team 105 FALSE
4 Great West Team 110 FALSE
5 Bad East Team 85 FALSE
6 Bad West Team 88 FALSE

A nova coluna good_and_east retorna os seguintes valores:

  • VERDADEIRO se a equipe contiver “Bom” e “É”
  • FALSO se a equipe não contém “Bom” e “É”

Observe que apenas um valor TRUE é retornado, pois há apenas um nome de equipe contendo a substring “Boa” e a substring “Leste”.

Recursos adicionais

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

R: Como verificar se o caractere está em uma string
R: Como remover espaços de strings
A: Como extrair uma string entre caracteres específicos

Add a Comment

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