Introduzione
Le funzioni sub()
e gsub()
in R sostituiranno la stringa o i caratteri in un vettore o un frame di dati con una stringa specifica. Queste funzioni sono utili quando si effettuano modifiche su grandi set di dati.
In questo articolo, esplorerai come utilizzare le funzioni sub()
e gsub()
in R.
Prerequisiti
Per completare questo tutorial, avrai bisogno di:
- R installed locally or on a server.
Sintassi di sub()
e gsub()
La sintassi di base per sub()
è:
sub(pattern, replacement, x)
La sintassi di base per gsub()
è:
gsub(pattern, replacement, x)
La sintassi per sub()
e gsub()
richiede un modello, una sostituzione e il vettore o il frame di dati:
- modello: Il modello o la stringa che si desidera sostituire.
- sostituzione: Una stringa di input per sostituire la stringa del modello.
- x: A vector or a data frame to substitute the strings.
Il modello può anche essere nella forma di un’espressione regolare (regex).
Ora che sei familiare con la sintassi, puoi passare all’implementazione.
La funzione sub()
in R
La funzione sub()
in R sostituisce la stringa in un vettore o in un data frame con l’input o la stringa specificata.
Tuttavia, il limite della funzione sub()
è che sostituisce solo la prima occorrenza.
1. Utilizzando la funzione sub()
In questo esempio, impara come sostituire un modello di stringa con una stringa di sostituzione utilizzando la funzione sub()
.
# il vettore di input
df<-"R is an open-source programming language widely used for data analysis and statistical computing."
# la sostituzione
sub('R','The R language',df)
Eseguendo questo comando si ottiene il seguente output:
Output"The R language is an open-source programming language widely used for data analysis and statistical computing."
La funzione sub()
sostituisce la stringa 'R'
nel vettore con la stringa 'Il linguaggio R'
.
In questo esempio, c’era una singola occorrenza di corrispondenza del modello. Considera cosa succede se ci sono più occorrenze di corrispondenza dei modelli.
# il vettore di input
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
# la sostituzione
sub('R','The R language',df)
Eseguendo questo comando si genera l’output seguente:
"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
In questo esempio, si può osservare che la funzione sub()
ha sostituito la prima occorrenza della stringa 'R'
con 'Il linguaggio R'
. Ma la successiva occorrenza nella stringa rimane la stessa.
2. Utilizzo della funzione sub()
con un frame di dati
La funzione sub()
funziona anche con i frame di dati.
# creazione di un frame di dati
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))
# frame di dati
df
Questo creerà il seguente frame di dati:
Creature Population
1 Starfish 5
2 Blue Crab 6
3 Bluefin Tuna 4
4 Blue Shark 2
5 Blue Whale 2
Poi sostituisci i caratteri 'Blue'
con i caratteri 'Green'
:
# sostituzione dei valori
sub('Blue','Green',df)
Eseguendo questo comando si genera l’output seguente:
Output"c(\"Starfish\", \"Green Crab\", \"Bluefin Tuna\", \"Blue Shark\", \"Blue Whale\")"
"c(5, 6, 4, 2, 2)"
Puoi anche specificare una colonna particolare per sostituire tutte le occorrenze di 'Blue'
con 'Green'
:
# sostituzione dei valori
sub('Blue','Green',df$Creature)
Eseguendo questo comando si genera l’output seguente:
Output"Starfish"
"Green Crab"
"Greenfin Tuna"
"Green Shark"
"Green Whale"
Tutte le istanze dei caratteri 'Blue'
sono state sostituite con 'Green'
.
La funzione gsub()
in R
La funzione gsub()
in R viene utilizzata per operazioni di sostituzione. La funzione prende l’input e lo sostituisce con i valori specificati.
A differenza della funzione sub()
, gsub()
applica una sostituzione globale a tutti i match.
1. Utilizzo della funzione gsub()
In questo esempio, impara come sostituire un modello di stringa con una stringa di sostituzione con la funzione gsub()
.
# il vettore di input
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
Questi sono dati che hanno scritto 'R'
più volte.
# sostituire i valori usando gsub()
gsub('R','The R language',df)
Output"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive The R language Archive Network (CThe R languageAN)."
Tutte le istanze di ‘R
’ sono state sostituite (inclusi gli esempi in "Comprehensive R Archive Network"
e "CRAN"
). La funzione gsub()
trova ogni parola corrispondente al parametro e la sostituisce con la parola o i valori di input.
2. Utilizzo della funzione gsub()
con i data frame
La funzione gsub()
funziona anche con i data frame.
# creazione di un data frame
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))
Aggiungiamo il prefisso ai valori nella colonna Creature
con 'Deep Sea '
:
# sostituzione dei valori
gsub('.*^','Deep Sea ',df$Creature)
Eseguendo questo comando si genera l’output seguente:
Output"Deep Sea Starfish"
"Deep Sea Blue Crab"
"Deep Sea Bluefin Tuna"
"Deep Sea Blue Shark"
"Deep Sea Blue Whale"
In questo esempio, la funzione gsub()
utilizza l’espressione regolare (regex): .*^
. Questo è un modello per la posizione all’inizio della stringa.
Conclusion
In questo articolo, hai esplorato come utilizzare le funzioni sub()
e gsub()
in R. Queste funzioni sostituiscono la stringa o i caratteri in un vettore o un data frame con una stringa specifica. La funzione sub()
si applica al primo match. La funzione gsub()
si applica a tutti i match.
Continua il tuo apprendimento con Come Usare replace()
in R.
Source:
https://www.digitalocean.com/community/tutorials/sub-and-gsub-function-r