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