R gsub() et sub() : remplacer des chaînes et des caractères
Les fonctions R gsub()
et sub()
sont des outils flexibles qui peuvent être aisément combinés avec d’autres fonctionnalités de R pour réaliser des manipulations avancées sur les textes. Leur utilisation fluide les rend adaptées aux analyses de données ainsi qu’aux calculs statistiques.
À quoi servent gsub()
et sub()
dans R ?
R gsub()
et sub()
sont des fonctions pour remplacer des motifs dans des chaînes de caractères. La fonction sub()
, abréviation de « substitute », permet de trouver la première occurrence d’un certain motif dans une chaîne de caractères et de le remplacer par une autre expression. Il s’agit d’un remplacement unique. En comparaison, la fonction gsub()
représente « global substitute ». Cette méthode recherche toutes les occurrences d’un motif spécifié (également appelé une « expression régulière » ou regular expression en anglais) dans une chaîne et les remplace toutes par une autre expression.
Ces deux fonctions sont largement utilisées dans le nettoyage et la transformation de données. Leur but principal est de supprimer des motifs indésirables ou d’adapter des données textuelles. R gsub()
et sub()
jouent un rôle crucial dans la manipulation de texte dans les analyses statistiques ou les applications de machine learning dans R. Ici, vous pouvez utiliser gsub()
et sub()
pour extraire des motifs spécifiques ou pour transformer des données dans une forme approprié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 paramètres suivants :
- pattern : le motif à rechercher, soit sous forme de chaîne de caractères, soit sous forme d’expression régulière
- replacement : l’expression qui doit remplacer le motif trouvé
- x : vecteur ou dataframe dans lequel la recherche et le remplacement seront effectués
La structure de R gsub()
gsub(pattern, replacement, x)
RLa syntaxe de base de R sub()
sub(pattern, replacement, x)
RExemples pratiques de R gsub()
Le choix entre sub()
et gsub()
dépend des exigences du remplacement de motifs. La particularité de R gsub()
est de déterminer toutes les occurrences 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 caractères.
sentence <- " Data Science is powerful. "
clean_sentence <- gsub("\\s+", " ", sentence)
cat(clean_sentence)
RNous obtenons alors la sortie :
"Data Science is powerful."
RL’expression régulière \\s+
correspond à un ou plusieurs espaces consécutifs, ce qui permet de supprimer les espaces blancs dans la phrase.
Remplacer les numéros de téléphone
R gsub()
est pratique pour anonymiser 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)
RSortie :
"Contact us at redacted phone number for more information."
RDans cet exemple, nous utilisons l’expression 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’utilisation de R sub()
Si vous ne voulez remplacer que la première occurrence d’un motif, utilisez sub()
.
Remplacer la première occurrence d’un mot
Supposons que nous ayons une chaîne avec une répétition 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)
RLa sortie nous montre alors :
"Information Science is powerful. Data Analysis is fun"
RR sub()
recherche le texte selon le modèle "Data"
et ne remplace que la première occurrence trouvée par le texte de remplacement 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)
RSortie :
"The cost is $2000. Please pay by 01.02.2024"
RL’expression régulière \\d+
correspond à un ou plusieurs chiffres, sub()
ne remplaçant que les premiers chiffres contigus du texte.
Retrouvez plus d’explications sur les fonctions du langage de programmation R comme R substring() ou R rbind() dans le Digital Guide de IONOS.
- Certificat SSL et protection DDoS
- Sauvegarde et restauration des données
- Assistance 24/7 et conseiller personnel