Pode utilizar os seguintes métodos no R para verificar se uma cadeia de caracteres contém várias subcadeias:

Método 1: Verificar se a cadeia de caracteres contém uma de várias subcadeias

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

Esta sintaxe em particular verifica se cada string no equipa coluna contém qualquer das cadeias de caracteres especificadas no vetor de cadeias de caracteres denominado encontrar_cordas .

Método 2: Verificar se a cadeia de caracteres contém várias subcadeias

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

Esta sintaxe em particular verifica se cada string no equipa coluna contém todos das cadeias de caracteres especificadas no vetor de cadeias de caracteres denominado encontrar_cordas .

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

 #criar quadro de dados df = quadro de dados (equipa=c('Boa equipa do Leste', 'Boa equipa do Oeste', 'Grande equipa do Leste', 'Grande equipa do Oeste', 'Má equipa do Leste', 'Má equipa do Oeste'), pontos=c(93, 99, 105, 110, 85, 88)) #ver quadro de dados df equipa pontos 1 Boa equipa do Leste 93 2 Boa equipa do Oeste 99 3 Grande equipa do Leste 105 4 Grande equipa do Oeste 110 5 Má equipa do Leste 85 6 Má equipa do Oeste 88 

Exemplo 1: Verificar se a cadeia de caracteres contém uma de várias subcadeias

Podemos usar a seguinte sintaxe para verificar se cada string no equipa A coluna contém a substring "Good" ou "Leste":

 #define substrings para procurar 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 BadEquipa do Oeste 88 FALSO 

O novo bom_ou_leste devolve os seguintes valores:

  • VERDADEIRO se a equipa contiver "Bom" ou "Leste"
  • FALSO se a equipa não contiver nem "Bom" nem "Leste"

Exemplo 2 Verificar se uma cadeia de caracteres contém várias subcadeias

Podemos usar a seguinte sintaxe para verificar se cada string no equipa a coluna contém a substring "Bom" e "Leste":

 #define substrings para procurar 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 FALSE6 Equipa do mau oeste 88 FALSO 

O novo bom_e_leste devolve os seguintes valores:

  • VERDADEIRO se a equipa contiver "Bom" e "Leste"
  • FALSO se a equipa não contiver "Bom" e "Leste"

Note-se que apenas um VERDADEIRO é devolvido porque só existe um nome de equipa que contém a substring "Good" e a substring "Leste".