A: come verificare se il carattere è in una stringa
È possibile utilizzare i seguenti metodi per verificare se un carattere è presente in una stringa in R:
Metodo 1: controlla se il carattere è in una stringa utilizzando Base R
grepl(my_character, my_string, fixed= TRUE )
Metodo 2: controlla se il carattere è nella stringa utilizzando il pacchetto stringr
library (stringr)
str_detect(my_string, my_character)
Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.
Esempio 1: controlla se il carattere è in una stringa utilizzando Base R
Il codice seguente mostra come verificare se “Doug” esiste in una particolare stringa in R:
#define character to look for
my_character <- "Doug"
#define string
my_string <- "Hey my name is Douglas"
#check if "Doug" is in string
grepl(my_character, my_string, fixed= TRUE )
[1] TRUE
Poiché “Doug” esiste nella stringa, la funzione grepl() restituisce TRU E .
Supponiamo invece di verificare se “Steve” esiste nella stringa:
#define character to look for
my_character <- "Steve"
#define string
my_string <- "Hey my name is Douglas"
#check if "Steve" is in string
grepl(my_character, my_string, fixed= TRUE )
[1] FALSE
Poiché “Steve” non esiste nella stringa, la funzione grepl() restituisce FALSE .
Esempio 2: controlla se il carattere è in una stringa utilizzando il pacchetto stringr
Il codice seguente mostra come utilizzare la funzione str_detect() del pacchetto stringr per verificare se la stringa “Doug” esiste in una stringa particolare:
library (stringr)
#define character to look for
my_character <- "Doug"
#define string
my_string <- "Hey my name is Douglas"
#check if "Doug" is in string
str_detect(my_string, my_character)
[1] TRUE
La funzione str_detect() restituisce TRUE poiché “Doug” è nella stringa.
Tieni presente che possiamo anche utilizzare la seguente sintassi per verificare se nella stringa sono presenti più caratteri:
library (stringr)
#define vector of characters to look for
my_characters <- c("Doug", "Steve", "name", "He")
#define string
my_string <- "Hey my name is Douglas"
#check if each character is in string
str_detect(my_string, my_characters)
[1] TRUE FALSE TRUE TRUE
Dal risultato possiamo vedere:
- “Doug” esiste nella catena.
- “Steve” non esiste nel canale.
- “nome” esiste nella stringa.
- “It” esiste nella stringa.
Correlato: Come utilizzare la funzione str_detect() in R (3 esempi)
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in R:
Come rimuovere l’ultimo carattere dalla stringa in R
Come trovare la posizione del carattere in una stringa in R
Come selezionare colonne contenenti una stringa specifica in R