Le stringhe R in breve

Le stringhe sono una struttura di dati basilare in R, usata per rappresentare sequenze di caratteri e singole lettere. A differenza di altri linguaggi di programmazione, in R non è previsto un tipo di dati chiamato string: le stringhe fanno parte del tipo di dati R character.

Cosa sono le stringhe R?

Che tu abbia appena iniziato a imparare a programmare oppure lavori con diversi linguaggi di programmazione già da molto tempo, non fa differenza: neanche le programmatrici e i programmatori più esperti possono fare a meno delle stringhe.

Le stringhe sono una struttura di dati all’interno del linguaggio di programmazione R. In sostanza, le stringhe non sono altro che sequenze di caratteri, che nella maggior parte dei linguaggi (e quindi anche nella programmazione in R) sono indicate con virgolette singole o doppie. Normalmente sono usate per salvare nei programmi informazioni non numeriche ed elaborarle.

Come si crea una stringa in R?

In R è possibile creare una stringa molto facilmente con una sola riga di codice. All’inizializzazione della tua stringa R puoi scegliere se utilizzare le virgolette singole o doppie:

string1 <- "Ciao mondo!"
# Stringa con virgolette singole
string2 <- 'Ciao mondo!'
R

Modificare le stringhe in R: le funzioni in breve

R mette a disposizione dei programmatori e delle programmatrici una serie di funzioni di base per lavorare con le stringhe, che possono essere usate per eseguire diverse operazioni sulle sequenze di caratteri. Di seguito le più importanti operazioni con le stringhe R:

  • substr(): estrae una sottostringa da una stringa R
  • paste(): concatena le stringhe
  • tolower() / toupper(): converte tutti i caratteri di una stringa in lettere maiuscole o minuscole
  • strsplit(): divide una stringa R in base al separatore indicato
  • trimws(): rimuove gli spazi all’inizio e alla fine di una stringa
  • gsub(): sostituisce il modello in una stringa con una sequenza di caratteri passata
  • nchar(): determina la lunghezza di una stringa in R

Se hai già dimestichezza con altri linguaggi di programmazione, dovresti conoscere già gran parte delle funzioni. Ad esempio ci sono molte somiglianze con le stringhe in Python.

substr()

La funzione substr() permette di estrarre sottostringhe da una stringa R. A questo scopo si passa la stringa alla funzione come primo parametro, come secondo e terzo parametro l’indice di inizio e di fine della stringa parziale desiderata. Tieni presente che, a differenza di molti altri linguaggi, l’indicizzazione delle stringhe R inizia con 1.

string <- "Ciao mondo"
print(substr(string, start=7, stop=10))
R

L’esempio di codice sopra restituisce sullo schermo "mondo".

paste()

La funzione paste() in R è inoltre usata per concatenare due o più stringhe. Tieni presente che + non è un operatore R per la concatenazione delle stringhe, in quanto l’addizione è definita solo su tipi di dati numerici.

string <- "Ciao"
string2 <- "mondo"
print(paste(string+ string2))
R

Chiamando paste() si concatenano le due stringhe R, producendo l’output seguente: "Ciao mondo".

tolower() / toupper()

Le funzioni tolower() e toupper() permettono di convertire tutti i caratteri di una stringa in minuscolo o maiuscolo. Entrambe le funzioni si aspettano come parametro la stringa con cui devono lavorare e restituiscono una nuova stringa.

string <- "Ciao mondo"
print(tolower(string))
print(toupper(string))
R

Come previsto, il programma sopra restituisce sullo schermo "ciao mondo" e "CIAO MONDO". Le funzioni tolower() o toupper() sono pratiche soprattutto per elaborare input che distinguono tra maiuscole e minuscole.

strsplit()

Le programmatrici e i programmatori esperti avranno sicuramente già incontrato la funzione strsplit() in R almeno una volta in un altro linguaggio. Anche Python ha una funzione chiamata split(). Come parametri strsplit() si aspetta la stringa che si desidera dividere in sottostringhe con un separatore e il separatore da usare per la divisione. In presenza di una sola stringa parziale, la chiamata di funzione restituirà quindi una lista contenente questa sottostringa.

string <- "Ciao mondo"
print(strsplit(string, " "))
R

L’output del codice sopra è il seguente:

[[1]]
[1] "Ciao" "mondo"

Si ottiene così una lista con due stringhe, in quanto lo spazio nella stringa originaria è stato usato come separatore.

trimws()

Con la funzione trimws() è possibile rimuovere gli spazi prima e dopo la stringa in R, il che può essere utile soprattutto durante l’elaborazione degli input degli utenti per rimuovere gli spazi indesiderati e inseriti inavvertitamente.

string <- "   Ciao mondo   "
print(trimws(string))
R

La sezione di codice restituisce "Ciao mondo" senza spazi all’inizio e alla fine della stringa.

gsub()

In R è possibile realizzare un’altra operazione sulle stringhe con la funzione gsub(), che come primo parametro richiede la sottostringa da sostituire. Come secondo parametro si indica la sequenza di caratteri con cui devono essere sostituite le occorrenze della sottostringa. Il terzo parametro è la stringa a cui si riferisce la sostituzione.

string <- "Ciao mondo"
print(gsub("mondo", "User", string))
R

Ora nell’output della stringa definita nel codice non si salutano più tutti, ma soltanto un utente, perché l’output del parametro è "Ciao mondo".

nchar()

Una delle funzionalità standard più importanti per le stringhe è fornita dalla funzione nchar(), che restituisce la lunghezza della stringa in R.

string <- "Ciao mondo"
print(nchar(string))
R

Non farti confondere dal comando R length(), che intuitivamente potrebbe sembrare avere un’altra funzione: in R, length() è utilizzato per determinare il numero di elementi in un oggetto, pertanto non restituisce la lunghezza della stringa in R!

Consiglio

Per mettere a disposizione i tuoi progetti di programmazione puoi servirti di uno spazio web di IONOS, proposto con una garanzia di 30 giorni “soddisfatti o rimborsati”.

Caratteri di controllo e sequenze di escape

Se vuoi modificare il flusso di testo all’interno della tua stringa R, ad esempio con interruzioni di riga o tabulazioni, devi ricorrere ai caratteri di controllo. Si tratta di una forma predefinita di sequenze di escape spesso utilizzate per strutturare l’output di testo.

Anche caratteri particolari come le virgolette, che normalmente nella sintassi R sarebbero interpretati come inizio o fine di una stringa, possono essere generati con sequenze di escape all’interno di stringhe. Le sequenze di escape sono indicate da una barra rovesciata iniziale. Di seguito trovi i caratteri di controllo e le sequenze di escape più importanti in R:

  • \n: newline/interruzione di riga
  • \t: tabulazione
  • \: barra rovesciata
  • ": virgolette doppie
  • ': virgolette singole
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