La funzione substring() in R è utile per preparare i dati per le analisi, ad esempio se devi con­ver­ti­re i dati di testo in formati meglio strut­tu­ra­ti.

Che cos’è esat­ta­men­te la funzione substring() in R?

In R, substring() è una funzione integrata che permette di se­le­zio­na­re le sot­to­se­quen­ze di caratteri all’interno di una stringa già esistente. Essa consente di definire con pre­ci­sio­ne l’indice iniziale e finale per isolare la parte de­si­de­ra­ta della sequenza di caratteri. Sono molte le ap­pli­ca­zio­ni di substring() in R, dalla pulizia dei dati fino all’estra­zio­ne di in­for­ma­zio­ni spe­ci­fi­che da dati di testo non strut­tu­ra­ti. Ad esempio, è possibile uti­liz­za­re questo metodo per ricavare i codici postali dagli indirizzi o per estrarre i com­po­nen­ti della data da una marca temporale.

La funzione substring() in R offre fles­si­bi­li­tà d’uso in quelle si­tua­zio­ni che ri­chie­do­no un controllo preciso della posizione e della lunghezza della sot­to­se­quen­za di caratteri se­le­zio­na­ta. Inoltre, questo metodo è uti­liz­za­to spesso nelle analisi dei dati e per preparare i dati in formato testo per le suc­ces­si­ve fasi di ela­bo­ra­zio­ne e strut­tu­ra­zio­ne dei dati.

La sintassi della funzione substring() in R

La funzione substring() in R estrae e re­sti­tui­sce una sot­to­se­quen­za di caratteri. Essa accetta i seguenti parametri:

substring(x, first, last)
R
  • x: la sequenza di caratteri da cui estrarre la sot­to­se­quen­za.
  • first: questo è l’indice del primo carattere nella stringa da estrarre.
  • last: l’indice dell’ultimo carattere nella sot­to­se­quen­za di caratteri da estrarre.

Un esempio pratico:

original_string <- "data analysis"
result <- substring(original_string, 1, 4)
print(result)
# Output: data
R

Se­le­zio­nia­mo la sot­to­strin­ga compresa fra l’indice 1 e l’indice 4 nella sequenza di caratteri "data analysis" e la me­mo­riz­zia­mo nella variabile result. Il risultato è "data".

Ap­pli­ca­zio­ne pratica della funzione substring() in R

Nell’ela­bo­ra­zio­ne di record di dati occorre spesso se­le­zio­na­re, ma­ni­po­la­re o rimuovere de­ter­mi­na­te parti delle sequenze di caratteri. A tal fine puoi uti­liz­za­re la funzione substring() in R in diversi modi.

Estra­zio­ne di caratteri con substring()

Puoi me­mo­riz­za­re gli indici all’interno di variabili e as­se­gnar­li come parametri alla funzione substring() in R.

# Original string
original_string <- "Data Science"
# Indices for extraction
start_index <- 6
end_index <- 12
# Using substring() for extraction
extracted_substring <- substring(original_string, start_index, end_index)
print(extracted_substring)
# Output: Science
R

Questo esempio dimostra il fun­zio­na­men­to di substring() in R. Nella sequenza di caratteri originale "Data Science" viene se­le­zio­na­ta una sot­to­strin­ga dalla posizione 6 alla 12. A tal fine, definiamo la variabile start_index come indice iniziale e end_index come indice finale per l’estra­zio­ne. L’output del programma mostra la sot­to­se­quen­za di caratteri estratta: in questo caso, "Science". Il valore 12 per l’indice finale è inclusivo, ossia il carattere nella posizione 12 della sot­to­strin­ga è compreso nella selezione.

Ma­ni­po­la­zio­ne di stringhe con la funzione substring() in R

Ora creiamo un frame di dati df con­te­nen­te un iden­ti­fi­ca­ti­vo (ID), l’età e la pro­fes­sio­ne di alcune persone. Uti­liz­zia­mo quindi la funzione substring() per ag­giun­ge­re uno spazio vuoto nella colonna "ID" in cor­ri­spon­den­za della seconda posizione di ciascuna sequenza di caratteri.

# Creating a sample data frame
df <- data.frame(
    ID = c("01235", "02345", "04531"),
    Age = c(25, 30, 22),
    Occupation = c("Engineer", "Doctor", "Teacher")
)
# Inserting a space at the second position in the "ID" column
df$ID <- paste(substring(df$ID, 1, 1), " ", substring(df$ID, 2))
# Displaying the modified data frame
print("Modified Data Frame:")
print(df)
R

In questo caso, la funzione substring() in R serve a estrarre la prima cifra di ciascun numero (substring(df$ID, 1, 1) e il resto della sequenza numerica in seconda posizione (substring(df$ID, 2)). Lo spazio vuoto viene quindi aggiunto fra queste due parti per mezzo di paste in R. Il risultato compare nella colonna ID del frame di dati.

Otteniamo questo output:

Modified Data Frame:
    ID           Age  Occupation
1  0 1235  25     Engineer
2  0 2345  30     Doctor
3  0 4531  22     Teacher
R
Consiglio

Per scoprire come lavorare con le stringhe in R, ti con­si­glia­mo di seguire anche il tutorial su gsub e sub in R presente nella Digital Guide.

Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana
Vai al menu prin­ci­pa­le