Inleiding
De functies sub()
en gsub()
in R zullen de string of de karakters in een vector of een data frame vervangen door een specifieke string. Deze functies zijn handig bij het uitvoeren van wijzigingen op grote datasets.
In dit artikel zult u ontdekken hoe u de functies sub()
en gsub()
in R kunt gebruiken.
Vereisten
Om deze tutorial te voltooien, heeft u nodig:
- R installed locally or on a server.
Syntax van sub()
en gsub()
De basis syntaxis voor sub()
is:
sub(pattern, replacement, x)
De basis syntaxis voor gsub()
is:
gsub(pattern, replacement, x)
De syntaxis voor sub()
en gsub()
vereist een patroon, een vervanging en de vector of data frame:
- patroon: Het patroon of de string die u wilt vervangen.
- vervanging: Een invoerstring om de patroonstring te vervangen.
- x: A vector or a data frame to substitute the strings.
Het patroon kan ook in de vorm van een reguliere expressie (regex) zijn.
Nu je bekend bent met de syntaxis, kun je overgaan tot implementatie.
De sub()
-functie in R
De sub()
-functie in R vervangt de string in een vector of een gegevensframe door de invoer of de gespecificeerde string.
De beperking van de sub()
-functie is echter dat deze alleen de eerste voorkomens vervangt.
1. Gebruik van de sub()
-functie
In dit voorbeeld leer je hoe je een stringpatroon vervangt door een vervangende string met de sub()
-functie.
# de invoervector
df<-"R is an open-source programming language widely used for data analysis and statistical computing."
# de vervanging
sub('R','The R language',df)
Met dit commando wordt de volgende uitvoer gegenereerd:
Output"The R language is an open-source programming language widely used for data analysis and statistical computing."
De sub()
-functie vervangt de string 'R'
in de vector door de string 'De R-taal'
.
In dit voorbeeld was er één geval van patroonmatching. Bedenk wat er gebeurt als er meerdere voorkomens van patroonovereenkomsten zijn.
# de invoervector
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
# de vervanging
sub('R','The R language',df)
Het uitvoeren van dit commando genereert de volgende output:
"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
In dit voorbeeld kunt u zien dat de sub()
-functie de eerste keer dat de string 'R'
voorkomt heeft vervangen door 'De programmeertaal R'
. Maar de volgende keer dat de string voorkomt, blijft deze hetzelfde.
2. Gebruik van de sub()
-functie met een gegevensframe
De sub()
-functie werkt ook met gegevensframes.
# een gegevensframe maken
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))
# gegevensframe
df
Dit zal het volgende gegevensframe creëren:
Creature Population
1 Starfish 5
2 Blue Crab 6
3 Bluefin Tuna 4
4 Blue Shark 2
5 Blue Whale 2
Vervolgens de tekens 'Blauw'
vervangen door de tekens 'Groen'
:
# waarden vervangen
sub('Blue','Green',df)
Het uitvoeren van dit commando genereert de volgende output:
Output"c(\"Starfish\", \"Green Crab\", \"Bluefin Tuna\", \"Blue Shark\", \"Blue Whale\")"
"c(5, 6, 4, 2, 2)"
U kunt ook een specifieke kolom opgeven om alle voorkomens van 'Blauw'
te vervangen door 'Groen'
:
# waarden vervangen
sub('Blue','Green',df$Creature)
Het uitvoeren van dit commando genereert de volgende output:
Output"Starfish"
"Green Crab"
"Greenfin Tuna"
"Green Shark"
"Green Whale"
Alle instanties van de tekens 'Blauw'
zijn vervangen door 'Groen'
.
De gsub()
-functie in R
De gsub()
-functie in R wordt gebruikt voor vervangingsoperaties. De functie neemt de invoer en vervangt deze door de gespecificeerde waarden.
In tegenstelling tot de sub()
-functie past gsub()
een wereldwijde substitutie toe op alle overeenkomsten.
1. Gebruik van de gsub()
-functie
In dit voorbeeld leer je hoe je een tekenreekspatroon vervangt door een vervangende tekenreeks met de gsub()
-functie.
# de invoervector
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."
Dit zijn gegevens waarin 'R'
meerdere keren is geschreven.
# de waarden vervangen met 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)."
Alle gevallen van ‘R
’ zijn vervangen (inclusief de gevallen in "Comprehensive R Archive Network"
en "CRAN"
). De gsub()
-functie vindt elk woord dat overeenkomt met de parameter en vervangt dat door het ingevoerde woord of de ingevoerde waarden.
2. Gebruik van de functie gsub()
met dataframes
De functie gsub()
werkt ook met dataframes.
# het maken van een dataframe
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))
Laten we de waarden in de kolom Creature
voorvoegen met 'Diepzee '
:
# vervangen van de waarden
gsub('.*^','Deep Sea ',df$Creature)
Het uitvoeren van deze opdracht genereert de volgende uitvoer:
Output"Deep Sea Starfish"
"Deep Sea Blue Crab"
"Deep Sea Bluefin Tuna"
"Deep Sea Blue Shark"
"Deep Sea Blue Whale"
In dit voorbeeld gebruikt de functie gsub()
de reguliere expressie (regex): .*^
. Dit is een patroon voor de positie aan het begin van de string.
Conclusie
In dit artikel heb je ontdekt hoe je de functies sub()
en gsub()
kunt gebruiken in R. Deze functies vervangen de string of de tekens in een vector of een dataframe door een specifieke string. De functie sub()
is van toepassing op de eerste overeenkomst. De functie gsub()
is van toepassing op alle overeenkomsten.
Ga verder met leren met Hoe gebruik je replace()
in R.
Source:
https://www.digitalocean.com/community/tutorials/sub-and-gsub-function-r