Sådan bruges sub() og gsub() i R

Sådan bruges sub() og gsub() i R

Introduktion

sub() og gsub() er to kraftfulde funktioner i R, der bruges til at søge og erstatte tekststrenge i vektorer af tekstdata. De spiller en afgørende rolle i tekstbehandling og datamanipulation og gør det muligt for brugere at udføre komplekse substitutionsoperationer med lethed. Denne omfattende guide vil gennemgå syntaksen, argumenterne og anvendelsesmulighederne for sub() og gsub() med detaljerede eksempler, så du kan få mest muligt ud af disse funktioner i dine egne dataanalyseprojekter.

sub()-funktionen

Syntaks:

r
sub(pattern, replacement, string, ignore.case = FALSE)

Argumenter:

* pattern: Det tekstlige mønster, der skal søges efter.
* replacement: Den tekst, der skal erstatte det fundne mønster.
* string: Vektoren af tekststrenge, hvor søgningen og erstatningen skal udføres.
* ignore.case (valgfrit): En logisk værdi, der angiver, om søgningen skal være følsom over for store og små bogstaver. Standardværdien er FALSE, hvilket betyder, at søgningen er følsom over for store og små bogstaver.

Anvendelsesmuligheder for sub()

sub() udfører en enkel erstatning af hvert matchende mønster i tekststrengen. Det erstatter kun det første forekomst af mønsteret i hver streng, medmindre argumentet fixed er indstillet til TRUE. Nedenstående eksempler illustrerer de almindelige anvendelsesmuligheder for sub():

Eksempel 1: Erstat ord:

  Ret "0xc0000005" fejl og få en problemfri computeroplevelse

r
string <- c("R er et programmeringssprog", "R er sjovt at lære")
sub("er", "er et", string)

Output:


[1] "R et et programmeringssprog" "R et et sjovt at lære"

Eksempel 2: Fjern mellemrum:

r
string <- c("Hej Verden", "Velkommen til R")
sub(" ", "", string)

Output:


[1] "HejVerden" "VelkommentilR"

gsub()-funktionen

Syntaks:

r
gsub(pattern, replacement, string, ignore.case = FALSE)

Argumenter:

* pattern: Det tekstlige mønster, der skal søges efter.
* replacement: Den tekst, der skal erstatte det fundne mønster.
* string: Vektoren af tekststrenge, hvor søgningen og erstatningen skal udføres.
* ignore.case (valgfrit): En logisk værdi, der angiver, om søgningen skal være følsom over for store og små bogstaver. Standardværdien er FALSE, hvilket betyder, at søgningen er følsom over for store og små bogstaver.

Anvendelsesmuligheder for gsub()

gsub() udfører en global erstatning af alle matchende mønstre i tekststrengen, i modsætning til sub(), der kun erstatter det første forekomst. Følgende eksempler viser de væsentlige anvendelsesmuligheder for gsub():

Eksempel 1: Erstat flere forekomster:

  Tjek, om listen er tom i Python med disse 3 nemme teknikker

r
string <- c("R er et programmeringssprog", "R er sjovt at lære")
gsub("er", "er et", string)

Output:


[1] "R et et programmeringssprog" "R et et sjovt at lære"

Eksempel 2: Fjern HTML-tags:

r
string <- c("<p>Dette er en HTML-tekst</p>", "<div>Dette er en HTML-blok</div>")
gsub("<.*?>", "", string)

Output:


[1] "Dette er en HTML-tekst" "Dette er en HTML-blok"

Konklusion

sub() og gsub() er uundværlige værktøjer i R til at udføre tekstmanipulation. De giver brugerne mulighed for at søge og erstatte tekststrenge med præcision og fleksibilitet. Ved at forstå syntaksen og anvendelsesmulighederne for disse funktioner kan du nemt udføre en bred vifte af tekstbehandlingsopgaver, herunder erstatning af ord, fjernelse af mellemrum, fjernelse af HTML-tags og meget mere. Husk at øve dig med disse funktioner på dit eget datasæt for at blive fortrolig med deres kraft og anvendelsesmuligheder.

Ofte stillede spørgsmål

1. Hvad er forskellen mellem sub() og gsub()?
sub() erstatter kun det første forekomst af mønsteret i hver streng, mens gsub() erstatter alle forekomster.

  8 Task Automation Software til at optimere gentagne opgaver

2. Hvordan ignoreres store og små bogstaver ved søgning og erstatning?
Indstil argumentet ignore.case til TRUE.

3. Kan jeg bruge regulære udtryk i sub() og gsub()?
Ja, du kan bruge regulære udtryk til at definere søgemønstre i disse funktioner.

4. Hvordan erstatter jeg flere forekomster af et mønster, men med forskellige erstatninger?
Brug gsubfn()-funktionen med en navngivet funktion, der specificerer den ønskede erstatning for hver forekomst.

5. Hvordan erstatter jeg flere søgemønstre samtidig?
Brug stringr-pakken, der giver mere avancerede tekstmanipulationsfunktioner, herunder erstatning af flere mønstre.

6. Kan jeg erstatte tekststrenge i en data.frame?
Ja, brug mutate()-funktionen fra dplyr-pakken til at anvende sub() eller gsub() på en specifik tekstkolonne i en data.frame.

7. Hvordan bruger jeg sub() eller gsub() med faktorvariabler?
Konverter først faktorvariabler til tegnstrenge ved hjælp af as.character()-funktionen, før du anvender sub() eller gsub().

8. Kan jeg bruge sub() eller gsub() til at fjerne mellemrum i begyndelsen og slutningen af tekststrenge?
Ja, brug trimws()-funktionen fra stringr-pakken til at fjerne mellemrum i begyndelsen og slutningen af tekststrenge.