Funzione substring() in R: come estrarre informazioni dalle stringhe
La funzione substring() in R è utile per preparare i dati per le analisi, ad esempio se devi convertire i dati di testo in formati meglio strutturati.
Che cos’è esattamente la funzione substring()
in R?
In R, substring() è una funzione integrata che permette di selezionare le sottosequenze di caratteri all’interno di una stringa già esistente. Essa consente di definire con precisione l’indice iniziale e finale per isolare la parte desiderata della sequenza di caratteri. Sono molte le applicazioni di substring() in R, dalla pulizia dei dati fino all’estrazione di informazioni specifiche da dati di testo non strutturati. Ad esempio, è possibile utilizzare questo metodo per ricavare i codici postali dagli indirizzi o per estrarre i componenti della data da una marca temporale.
La funzione substring() in R offre flessibilità d’uso in quelle situazioni che richiedono un controllo preciso della posizione e della lunghezza della sottosequenza di caratteri selezionata. Inoltre, questo metodo è utilizzato spesso nelle analisi dei dati e per preparare i dati in formato testo per le successive fasi di elaborazione e strutturazione dei dati.
La sintassi della funzione substring()
in R
La funzione substring() in R estrae e restituisce una sottosequenza di caratteri. Essa accetta i seguenti parametri:
substring(x, first, last)
R-
x
: la sequenza di caratteri da cui estrarre la sottosequenza. -
first
: questo è l’indice del primo carattere nella stringa da estrarre. -
last
: l’indice dell’ultimo carattere nella sottosequenza di caratteri da estrarre.
Un esempio pratico:
original_string <- "data analysis"
result <- substring(original_string, 1, 4)
print(result)
RSelezioniamo la sottostringa compresa fra l’indice 1 e l’indice 4 nella sequenza di caratteri "data analysis"
e la memorizziamo nella variabile result
. Il risultato è "data"
.
Applicazione pratica della funzione substring()
in R
Nell’elaborazione di record di dati occorre spesso selezionare, manipolare o rimuovere determinate parti delle sequenze di caratteri. A tal fine puoi utilizzare la funzione substring() in R in diversi modi.
Estrazione di caratteri con substring()
Puoi memorizzare gli indici all’interno di variabili e assegnarli 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
RQuesto esempio dimostra il funzionamento di substring() in R. Nella sequenza di caratteri originale "Data Science"
viene selezionata una sottostringa dalla posizione 6 alla 12. A tal fine, definiamo la variabile start_index
come indice iniziale e end_index
come indice finale per l’estrazione. L’output del programma mostra la sottosequenza di caratteri estratta: in questo caso, "Science"
. Il valore 12 per l’indice finale è inclusivo, ossia il carattere nella posizione 12 della sottostringa è compreso nella selezione.
Manipolazione di stringhe con la funzione substring()
in R
Ora creiamo un frame di dati df
contenente un identificativo (ID), l’età e la professione di alcune persone. Utilizziamo quindi la funzione substring() per aggiungere uno spazio vuoto nella colonna "ID"
in corrispondenza 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)
RIn 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
RPer scoprire come lavorare con le stringhe in R, ti consigliamo di seguire anche il tutorial su gsub e sub in R presente nella Digital Guide.
- Certificato SSL e protezione DDoS
- Velocità, flessibilità e scalabilità
- Dominio e consulente personale
- 1 anno gratis del gestionale di fatturazione elettronica FlexTax