Les fonctions R gsub() et sub() sont des outils flexibles qui peuvent être aisément combinés avec d’autres fonc­tion­na­li­tés de R pour réaliser des ma­ni­pu­la­tions avancées sur les textes. Leur uti­li­sa­tion fluide les rend adaptées aux analyses de données ainsi qu’aux calculs sta­tis­tiques.

À quoi servent gsub() et sub() dans R ?

R gsub() et sub() sont des fonctions pour remplacer des motifs dans des chaînes de ca­rac­tères. La fonction sub(), abré­via­tion de « subs­ti­tute », permet de trouver la première oc­cur­rence d’un certain motif dans une chaîne de ca­rac­tères et de le remplacer par une autre ex­pres­sion. Il s’agit d’un rem­pla­ce­ment unique. En com­pa­rai­son, la fonction gsub() re­pré­sente « global subs­ti­tute ». Cette méthode recherche toutes les oc­cur­rences d’un motif spécifié (également appelé une « ex­pres­sion régulière » ou regular ex­pres­sion en anglais) dans une chaîne et les remplace toutes par une autre ex­pres­sion.

Ces deux fonctions sont largement utilisées dans le nettoyage et la trans­for­ma­tion de données. Leur but principal est de supprimer des motifs in­dé­si­rables ou d’adapter des données tex­tuelles. R gsub() et sub() jouent un rôle crucial dans la ma­ni­pu­la­tion de texte dans les analyses sta­tis­tiques ou les ap­pli­ca­tions de machine learning dans R. Ici, vous pouvez utiliser gsub() et sub() pour extraire des motifs spé­ci­fiques ou pour trans­for­mer des données dans une forme ap­pro­priée pour l’analyse.

Comment se présente la syntaxe de R gsub() et sub() ?

La syntaxe des fonctions gsub() et sub() dans R est assez similaire. Les deux méthodes acceptent les pa­ra­mètres suivants :

  • pattern : le motif à re­cher­cher, soit sous forme de chaîne de ca­rac­tères, soit sous forme d’ex­pres­sion régulière
  • re­pla­ce­ment : l’ex­pres­sion qui doit remplacer le motif trouvé
  • x : vecteur ou dataframe dans lequel la recherche et le rem­pla­ce­ment seront effectués

La structure de R gsub()

gsub(pattern, replacement, x)
R

La syntaxe de base de R sub()

sub(pattern, replacement, x)
R

Exemples pratiques de R gsub()

Le choix entre sub() et gsub() dépend des exigences du rem­pla­ce­ment de motifs. La par­ti­cu­la­rité de R gsub() est de dé­ter­mi­ner toutes les oc­cur­rences d’un motif et de les échanger.

Supprimer les espaces

Vous pouvez par exemple utiliser gsub() pour nettoyer les espaces superflus dans les chaînes de ca­rac­tères.

sentence <- " Data Science is powerful. "
clean_sentence <- gsub("\\s+", " ", sentence)
cat(clean_sentence)
R

Nous obtenons alors la sortie :

"Data Science is powerful."
R

L’ex­pres­sion régulière \\s+ cor­res­pond à un ou plusieurs espaces con­sé­cu­tifs, ce qui permet de supprimer les espaces blancs dans la phrase.

Remplacer les numéros de téléphone

R gsub() est pratique pour ano­ny­mi­ser ou supprimer des données sensibles comme les numéros de téléphone.

text <- "Contact us at 123-456-7890 for more information."
modified_text <- gsub("\\d{3}-\d{3}-\d{4}", "redacted phone number", text)
cat(modified_text)
R

Sortie :

"Contact us at redacted phone number for more information."
R

Dans cet exemple, nous utilisons l’ex­pres­sion régulière \\d{3}-\\d{3}-\d{4} pour extraire le numéro de téléphone et remplacer tous les chiffres de la chaîne text par le caractère générique "redacted phone number".

Exemples d’uti­li­sa­tion de R sub()

Si vous ne voulez remplacer que la première oc­cur­rence d’un motif, utilisez sub().

Remplacer la première oc­cur­rence d’un mot

Supposons que nous ayons une chaîne avec une ré­pé­ti­tion de mots et que nous voulions remplacer le premier mot :

text <- "Data Science is powerful. Data Analysis is fun"
result_sub <- sub("Data", "Information", text)
cat(result_sub)
R

La sortie nous montre alors :

"Information Science is powerful. Data Analysis is fun"
R

R sub() recherche le texte selon le modèle "Data" et ne remplace que la première oc­cur­rence trouvée par le texte de rem­pla­ce­ment spécifié "Information".

Remplacer des nombres

Nous pouvons aussi remplacer des nombres avec sub().

numeric_text <- "The cost is $1000. Please pay by 01.02.2024."
result <- sub("\\\Nd+", "2000", numeric_text)
cat(result)
R

Sortie :

"The cost is $2000. Please pay by 01.02.2024"
R

L’ex­pres­sion régulière \\d+ cor­res­pond à un ou plusieurs chiffres, sub() ne rem­pla­çant que les premiers chiffres contigus du texte.

Conseil

Retrouvez plus d’ex­pli­ca­tions sur les fonctions du langage de pro­gram­ma­tion R comme R substring() ou R rbind() dans le Digital Guide de IONOS.

Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus
Aller au menu principal