Funzioni gsub() e sub() in R: sostituzione di stringhe e caratteri
Le funzioni gsub()
e sub()
in R sono facili da usare e combinabili con altre funzioni di R per eseguire complesse manipolazioni dei testi. Queste funzioni possono essere integrate direttamente in analisi dei dati e calcoli statistici.
A cosa servono gsub()
e sub()
in R?
Le funzioni gsub()
e sub()
in R servono a sostituire modelli all’interno di sequenze di caratteri. La funzione sub()
, abbreviazione dell’inglese “substitute”, consente di trovare la prima occorrenza di un dato modello in una sequenza di caratteri e di sostituirla con un’altra espressione. Si tratta quindi di una sostituzione singola. La funzione gsub()
, invece, sta per “global substitute”. Questo metodo cerca tutte le occorrenze di un modello specificato all’interno di una stringa e le sostituisce globalmente con un’altra espressione.
Entrambe le funzioni sono molto utilizzate per la pulizia e la trasformazione dei dati. Il loro scopo principale è la rimozione di modelli indesiderati o l’adattamento di dati sotto forma di testo. Le funzioni gsub()
e sub()
in R svolgono quindi un compito fondamentale per la manipolazione dei testi in analisi statistiche o in applicazioni di apprendimento automatico in R. In questi campi è possibile utilizzare gsub()
e sub()
per estrarre determinati modelli oppure per trasformare i dati in un formato idoneo per l’analisi.
La sintassi di gsub()
e sub()
in R
La sintassi di gsub()
e sub()
in R è piuttosto simile per entrambe le funzioni. Entrambi i metodi accettano i seguenti parametri:
- pattern: questo è il modello da cercare, sotto forma di stringa o di espressione regolare
- replacement: l’espressione che deve sostituire il modello trovato
- x: vettore o frame di dati (data frame) in cui eseguire la ricerca e la sostituzione
La struttura di gsub()
in R
gsub(pattern, replacement, x)
RLa sintassi fondamentale di sub()
in R
sub(pattern, replacement, x)
REsempi pratici per gsub()
in R
La scelta fra sub()
e gsub()
dipende dalle esigenze di sostituzione del modello. La particolarità gsub()
in R è la possibilità di individuare e sostituire tutte le occorrenze di un modello.
Rimozione di spazi vuoti
Ad esempio, con gsub()
è possibile ripulire le stringhe eliminando gli spazi vuoti superflui.
sentence <- " Data Science is powerful. "
clean_sentence <- gsub("\\s+", " ", sentence)
cat(clean_sentence)
RIl risultato che otteniamo è il seguente:
"Data Science is powerful."
RL’espressione regolare \\s+
corrisponde a uno o più spazi vuoti consecutivi e permette quindi di rimuovere efficacemente gli spazi dalla frase.
Sostituzione di numeri di telefono
La funzione gsub()
in R è un metodo pratico per anonimizzare o rimuovere dati sensibili, come i numeri di telefono.
text <- "Contact us at 123-456-7890 for more information."
modified_text <- gsub("\\d{3}-\\d{3}-\\d{4}", "redacted phone number", text)
cat(modified_text)
ROutput:
"Contact us at redacted phone number for more information."
RIn questo esempio utilizziamo l’espressione regolare \\d{3}-\\d{3}-\\d{4}
per estrarre il numero di telefono e sostituire tutte le cifre nella stringa text
con il segnaposto "redacted phone number"
.
Esempi di applicazione per sub()
in R
Se desideri sostituire solo la prima occorrenza di un modello, utilizza la funzione sub()
.
Sostituzione di parole alla prima occorrenza
Ipotizziamo di avere una stringa con parole ripetute e di voler sostituire la prima parola:
text <- "Data Science is powerful. Data Analysis is fun."
result_sub <- sub("Data", "Information", text)
cat(result_sub)
ROtteniamo questo output:
"Information Science is powerful. Data Analysis is fun."
RLa funzione sub()
in R cerca il modello "Data"
nel testo e sostituisce la prima occorrenza con il testo sostitutivo indicato "Information"
.
Sostituzione di numeri
La funzione sub()
consente anche la sostituzione di numeri.
numeric_text <- "The cost is $1000. Please pay by 01.02.2024."
result <- sub("\\d+", "2000", numeric_text)
cat(result)
ROutput:
"The cost is $2000. Please pay by 01.02.2024."
RL’espressione regolare \\d+
corrisponde a una o più cifre, ma la funzione sub()
sostituisce solo il primo gruppo di numeri incontrato nel testo.
Ulteriori spiegazioni sulle funzioni di R, come substring in R o rbind in R sono disponibili nella nostra Digital Guide.
- Certificato SSL e protezione DDoS
- Velocità, flessibilità e scalabilità
- Dominio e consulente personale
- 1 anno gratis del gestionale di fatturazione elettronica FlexTax