A: controlla se la stringa contiene più sottostringhe


È possibile utilizzare i seguenti metodi in R per verificare se una stringa contiene più sottostringhe:

Metodo 1: controlla se la stringa contiene una delle diverse sottostringhe

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

Questa particolare sintassi controlla se ogni stringa nella colonna del team contiene una delle stringhe specificate nel vettore di stringhe chiamato find_strings .

Metodo 2: controlla se la stringa contiene più sottostringhe

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

Questa particolare sintassi controlla se ogni stringa nella colonna del team contiene tutte le stringhe specificate nel vettore di stringhe chiamato find_strings .

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati in 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

Esempio 1: controlla se la stringa contiene una delle diverse sottostringhe

Possiamo utilizzare la seguente sintassi per verificare se ogni stringa nella colonna del team contiene la sottostringa “Buono” o “È”:

 #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

La nuova colonna good_or_east restituisce i seguenti valori:

  • VERO se la squadra contiene “Buono” o “È”
  • FALSO se la squadra non contiene né “Buono” né “Est”

Esempio 2 : controlla se la stringa contiene più sottostringhe

Possiamo utilizzare la seguente sintassi per verificare se ogni stringa nella colonna team contiene la sottostringa “Buono” 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

La nuova colonna good_and_east restituisce i seguenti valori:

  • VERO se la squadra contiene “Buono” e “È”
  • FALSO se la squadra non contiene “Buono” e “È”

Tieni presente che viene restituito un solo valore VERO poiché esiste un solo nome di squadra contenente la sottostringa “Buono” e la sottostringa “Est”.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

A: Come verificare se il carattere è in una stringa
A: Come rimuovere gli spazi dalle stringhe
A: Come estrarre una stringa tra caratteri specifici

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *