Comment utiliser str_match dans R (avec exemples)



La fonction str_match() du package stringr dans R peut être utilisée pour extraire les groupes correspondants d’une chaîne.

Cette fonction utilise la syntaxe suivante :

str_match(chaîne, modèle)

où:

  • chaîne : vecteur de caractères
  • modèle : modèle à rechercher

Les exemples suivants montrent comment utiliser cette fonction dans la pratique

Exemple 1 : utilisez str_match avec Vector

Le code suivant montre comment utiliser la fonction str_match() pour extraire les modèles correspondants d’un vecteur de caractères :

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  

Le résultat est une matrice dans laquelle chaque ligne affiche le modèle correspondant ou une valeur NA si le modèle n’a pas été trouvé.

Par exemple:

  • Le modèle « avs » a été trouvé dans le premier élément « Mavs », donc « avs » a été renvoyé.
  • Le modèle « avs » a été trouvé dans le deuxième élément « Cavs », donc « avs » a été renvoyé.
  • Le modèle « avs » n’a pas été trouvé dans le troisième élément « Heat », donc NA a été renvoyé.

Et ainsi de suite.

Exemple 2 : utilisez str_match avec Data Frame

Supposons que nous ayons le bloc de données suivant dans R :

#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

Le code suivant montre comment utiliser la fonction str_match() pour ajouter une nouvelle colonne au bloc de données qui contient ou non un modèle correspondant pour chaque nom d’équipe :

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>

La nouvelle colonne intitulée match contient soit le modèle « avs », soit NA, selon que le modèle se trouve ou non dans la colonne équipe .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment utiliser str_replace dans R
Comment utiliser str_split dans R
Comment utiliser str_detect dans R
Comment utiliser str_count dans R
Comment utiliser str_pad dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *