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)
R

La sintassi fondamentale di sub() in R

sub(pattern, replacement, x)
R

Esempi 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)
R

Il risultato che otteniamo è il seguente:

"Data Science is powerful."
R

L’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)
R

Output:

"Contact us at redacted phone number for more information."
R

In 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)
R

Otteniamo questo output:

"Information Science is powerful. Data Analysis is fun."
R

La 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)
R

Output:

"The cost is $2000. Please pay by 01.02.2024."
R

L’espressione regolare \\d+ corrisponde a una o più cifre, ma la funzione sub() sostituisce solo il primo gruppo di numeri incontrato nel testo.

Consiglio

Ulteriori spiegazioni sulle funzioni di R, come substring in R o rbind in R sono disponibili nella nostra Digital Guide.

Il tuo web hosting come mai prima d'ora
  • Certificato SSL e protezione DDoS
  • Velocità, flessibilità e scalabilità
  • Dominio e consulente personale
  • 1 anno gratis del gestionale di fatturazione elettronica FlexTax
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top