Hoe str_match in r te gebruiken (met voorbeelden)


De functie str_match() van het stringr- pakket in R kan worden gebruikt om overeenkomende groepen uit een string te extraheren.

Deze functie gebruikt de volgende syntaxis:

str_match(tekenreeks, patroon)

Goud:

  • tekenreeks: karaktervector
  • model: model waarnaar gezocht wordt

De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken

Voorbeeld 1: Gebruik str_match met Vector

De volgende code laat zien hoe u de functie str_match() gebruikt om overeenkomende patronen uit een tekenvector te extraheren:

 library (stringr)

#create vector of strings
x <- c('Mavs', 'Cavs', 'Heat', 'Thunder', 'Blazers')

#extract strings that contain 'avs'
str_match(x, pattern=' avs ')

     [,1] 
[1,] “avs”
[2,] “avs”
[3,] NA   
[4,] NA   
[5,] NA  

Het resultaat is een matrix waarin elke rij het overeenkomende patroon of een NA- waarde weergeeft als het patroon niet is gevonden.

Bijvoorbeeld:

  • Het patroon „avs“ werd gevonden in het eerste element „Mavs“, dus „avs“ werd geretourneerd.
  • Het patroon „avs“ werd gevonden in het tweede element „Cavs“, dus „avs“ werd geretourneerd.
  • Het patroon „avs“ werd niet gevonden in het derde element „Heat“, dus NA werd geretourneerd.

Enzovoort.

Voorbeeld 2: Gebruik str_match met Data Frame

Stel dat we het volgende dataframe in R hebben:

 #create data frame
df <- data. frame (team=c('Mavs', 'Cavs', 'Heat', 'Thunder', 'Blazers'),
                 points=c(99, 104, 110, 103, 115))

#view data frame
df

     team points
1 Mavs 99
2 Cavs 104
3 Heat 110
4 Thunder 103
5 Blazers 115

De volgende code laat zien hoe u de functie str_match() gebruikt om een nieuwe kolom aan het dataframe toe te voegen die al dan niet een overeenkomend patroon voor elke teamnaam bevat:

 library (stringr)

#create new column
df$match <- str_match(df$team, pattern=' avs ')

#view updated data frame
df

     team points match
1 Mavs 99 avs
2 Cavs 104 avs
3 Heat 110 <NA>
4 Thunder 103 <NA>
5 Blazers 115 <NA>

De nieuwe kolom met de naam match bevat de sjabloon ‚avs‘ of NA, afhankelijk van of de sjabloon wel of niet in de teamkolom staat.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe str_replace te gebruiken in R
Hoe str_split te gebruiken in R
Hoe str_detect te gebruiken in R
Hoe str_count te gebruiken in R
Hoe str_pad te gebruiken in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert