Présentation rapide des R Strings

Les Strings correspondent à une structure de données de base dans le langage R. Elles servent à représenter des chaînes de caractères, mais également des lettres individuelles. Contrairement à d’autres, le langage de programmation R ne présente aucun type de données appelées « String » : les Strings appartiennent plutôt au type de données R intitulé character.

Que sont les R Strings ?

Vous commencez seulement à vous former à la programmation ? Vous avez depuis longtemps l’habitude de travailler avec différents langages de programmation ? Sachez que même les programmeurs les plus expérimentés ne peuvent pas faire l’impasse sur les Strings.

Les Strings correspondent à une structure de données présentes dans le langage de programmation R. Ces Strings sont en réalité de simples chaînes de caractères, identifiées à l’aide de guillemets simples ou doubles dans la plupart des langages, y compris dans le cadre de la programmation R. En règle générale, elles sont utilisées à des fins de stockage et de traitement des informations non numériques directement dans les programmes.

Comment créer une R String ?

Avec R, il est facile de créer une String avec une seule ligne de code. Pour l’initialisation de votre R String, vous pouvez décider d’utiliser des guillemets simples ou doubles :


string1 <- "Hello Word!"
# String avec des guillemets simples
string2 <- 'Hello world!'
R

Traiter des R Strings : présentation rapide des R Strings functions

R propose aux programmeurs une variété de fonctions de base pour leur permettre de travailler de façon performante avec des Strings. Ces fonctions peuvent être utilisées pour mener à bien différentes opérations sur les chaînes de caractères, ou avec ces dernières. Vous trouverez ci-dessous les principales R Strings operations :

  • substr() : permet d’extraire une sous-chaîne de caractères d’une R String
  • paste() : permet de concaténer des Strings
  • tolower() / toupper() : permet de passer tous les caractères d’une String en minuscules ou en majuscules
  • strsplit() : permet de diviser une R String à l’aide d’un caractère de séparation défini
  • trimws() : permet de supprimer les espaces au début et à la fin d’une String
  • gsub() : permet de remplacer des motifs au sein d’une String en renseignant une chaîne de caractères
  • nchar() : permet de déterminer la longueur d’une R String

Si vous avez l’habitude de travailler avec d’autres langages de programmation, vous connaissez sûrement déjà la plupart de ces fonctions. Il existe par exemple de nombreuses opérations équivalentes dans le domaine des Python Strings.

substr()

Avec la fonction « substr() », vous pouvez extraire des sous-chaînes de caractères à partir de vos R Strings. Pour ce faire, renseignez la fonction correspondante en tant que premier paramètre de votre String, avec les index de début et de fin de la sous-chaîne sélectionnée en tant que deuxième et troisième paramètres. Attention : l’indexation des R Strings se fait à partir de 1, contrairement à nombre d’autres langages.

string <- "Hello World"
print(substr(string, start=7, stop=10))
R

Dans l’exemple de code ci-dessus, « World » (« Monde ») s’affiche à l’écran.

paste()

Dans R, la fonction « paste() » permet de concaténer deux ou plusieurs chaînes de caractères. Attention : « + » n’est pas un opérateur R conçu pour la concaténation des Strings, car l’addition est uniquement définie sur des types de données numériques.

string <- "Hello"
string2 <- "World"
print(paste(string+ string2))
R

Si vous appelez « paste() », les deux R Strings concernées sont alors concaténées, et vous obtenez le résultat suivant : « Hello World ».

tolower() / toupper()

Ces deux fonctions des R Strings, « tolower() » et « toupper()“, vous permettent de passer l’ensemble des caractères de votre chaîne en minuscules ou en majuscules. Pour ce qui est du paramètre de transfert, les deux fonctions ont besoin de la String avec laquelle elles doivent travailler, et vous en renvoient ensuite une nouvelle.

string <- "Hello World"
print(tolower(string))
print(toupper(string))
R

Comme prévu, le programme ci-dessus affiche d’abord « hello world », puis « HELLO WORLD » à l’écran. L’utilisation de fonctions telles que « tolower() » ou « toupper() » peut s’avérer particulièrement utile lorsque les différentes entrées doivent être traitées en fonction de leur casse.

strsplit()

La fonction « strsplit() » dans R peut sembler familière aux programmeurs expérimentés ; ils sont en effet susceptibles de l’avoir déjà rencontrée dans un autre langage. Et pour cause, Python propose également une fonction « split() ». Pour ce qui est du paramètre de transmission, la fonction « strsplit() » a besoin de la String que vous souhaitez diviser en sous-chaînes, ainsi que du séparateur devant être utilisé pour cette division. Même en présence d’une seule sous-chaîne, l’appel de la fonction renvoie la liste de toutes les sous-chaînes ainsi créées.

string <- "Hello World"
print(strsplit(string, " "))
R

La sortie du code ci-dessus se présente alors comme suit :

[[1]]
[1] "Hello" "World"

La liste que vous obtenez alors contient bien deux Strings, car le caractère d’espacement présent dans la String initiale a été utilisé comme un séparateur.

trimws()

La fonction « trimws() » vous permet de supprimer les caractères d’espacement avant et après la R String concernée, ce qui peut s’avérer particulièrement utile pour le traitement des entrées par les utilisateurs, qui peuvent ainsi supprimer les caractères d’espacement indésirables (ceux-ci étant souvent saisis par erreur).

string <- "   Hello World   "
print(trimws(string))
R

Cette section de code renvoie la String « Hello World » sans aucun caractère d’espacement au début ou à la fin de la chaîne de caractères.

gsub()

La fonction « gsub() » permet de réaliser une autre opération sur les R Strings ; il convient pour cela d’indiquer la sous-chaîne à remplacer en tant que premier paramètre de transfert. Le deuxième paramètre correspond à la chaîne de caractères destinée à remplacer les occurrences de la sous-chaîne concernée. Quant au troisième paramètre de transfert, il concerne la String à laquelle le remplacement se réfère.

string <- "Hello World"
print(gsub("World", "User", string))
R

À présent, la sortie de la String ainsi définie dans le code n’est plus « Hello World », mais bien « Hello User ».

nchar()

La fonction « nchar() » compte parmi les principales fonctionnalités standard proposées au niveau des Strings, car elle renvoie à la longueur d’une R String.

string <- "Hello World"
print(nchar(string))
R

Ne vous laissez pas déconcerter par la commande R « length() », même si elle peut intuitivement vous paraître plus logique : dans le langage R, « length() » est utilisée pour déterminer le nombre d’éléments présents dans un objet ; elle ne renvoie donc pas la longueur de la R String concernée.

Conseil

Pour la mise à disposition de vos projets de programmation, pourquoi ne pas utiliser l’un des espaces Web proposés par IONOS et ainsi bénéficier d’une garantie « Satisfait ou remboursé » de 30 jours ?

Caractères de commande et séquences d’échappement

Vous souhaitez exercer une influence sur le flux de texte de vos R Strings (par exemple à l’aide de sauts de ligne ou de tabulations) ? Pour ce faire, vous pouvez utiliser les caractères de commande. Ceux-ci correspondent à une forme prédéfinie de séquences d’échappement, la plupart du temps utilisées pour concevoir des sorties texte.

Il est également possible d’afficher des caractères spéciaux marquant normalement le début ou la fin d’une String dans le cadre de la syntaxe R, comme des guillemets, à l’aide de séquences d’échappement, et ce, directement à l’intérieur des chaînes de caractères. Les séquences d’échappement sont facilement reconnaissables, car elles sont introduites par une barre oblique inversée. Vous trouverez ci-dessous les principaux caractères de commande et séquences d’échappement présents dans le langage R :

  • \n : nouvelle ligne/saut de ligne
  • \t : tabulation
  • \ : barre oblique inversée
  • " : guillemet double
  • ' : guillemet simple