Les Strings cor­res­pon­dent à une structure de données de base dans le langage R. Elles servent à re­pré­sen­ter des chaînes de ca­rac­tères, mais également des lettres in­di­vi­duelles. Con­trai­re­ment à d’autres, le langage de pro­gram­ma­tion R ne présente aucun type de données appelées « String » : les Strings ap­par­tien­nent plutôt au type de données R intitulé character.

Que sont les R Strings ?

Vous commencez seulement à vous former à la pro­gram­ma­tion ? Vous avez depuis longtemps l’habitude de tra­vail­ler avec dif­fé­rents langages de pro­gram­ma­tion ? Sachez que même les pro­gram­meurs les plus ex­pé­ri­men­tés ne peuvent pas faire l’impasse sur les Strings.

Les Strings cor­res­pon­dent à une structure de données présentes dans le langage de pro­gram­ma­tion R. Ces Strings sont en réalité de simples chaînes de ca­rac­tères, iden­ti­fiées à l’aide de guil­le­mets simples ou doubles dans la plupart des langages, y compris dans le cadre de la pro­gram­ma­tion R. En règle générale, elles sont utilisées à des fins de stockage et de trai­te­ment des in­for­ma­tions non nu­mé­riques di­rec­te­ment dans les pro­grammes.

Comment créer une R String ?

Avec R, il est facile de créer une String avec une seule ligne de code. Pour l’ini­tia­li­sa­tion de votre R String, vous pouvez décider d’utiliser des guil­le­mets simples ou doubles :

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

Traiter des R Strings : pré­sen­ta­tion rapide des R Strings functions

R propose aux pro­gram­meurs une variété de fonctions de base pour leur permettre de tra­vail­ler de façon per­for­mante avec des Strings. Ces fonctions peuvent être utilisées pour mener à bien dif­fé­rentes opé­ra­tions sur les chaînes de ca­rac­tères, ou avec ces dernières. Vous trouverez ci-dessous les prin­ci­pales R Strings ope­ra­tions :

  • substr() : permet d’extraire une sous-chaîne de ca­rac­tères d’une R String
  • paste() : permet de con­ca­té­ner des Strings
  • tolower() / toupper() : permet de passer tous les ca­rac­tères d’une String en mi­nus­cules ou en ma­jus­cules
  • strsplit() : permet de diviser une R String à l’aide d’un caractère de sé­pa­ra­tion 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 ren­seig­nant une chaîne de ca­rac­tères
  • nchar() : permet de dé­ter­mi­ner la longueur d’une R String

Si vous avez l’habitude de tra­vail­ler avec d’autres langages de pro­gram­ma­tion, vous con­nais­sez sûrement déjà la plupart de ces fonctions. Il existe par exemple de nom­breuses opé­ra­tions équi­va­lentes dans le domaine des Python Strings.

substr()

Avec la fonction « substr() », vous pouvez extraire des sous-chaînes de ca­rac­tères à partir de vos R Strings. Pour ce faire, ren­seig­nez la fonction cor­res­pon­dante en tant que premier paramètre de votre String, avec les index de début et de fin de la sous-chaîne sé­lec­tion­née en tant que deuxième et troisième pa­ra­mètres. Attention : l’in­dexa­tion des R Strings se fait à partir de 1, con­trai­re­ment à 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 con­ca­té­ner deux ou plusieurs chaînes de ca­rac­tères. Attention : « + » n’est pas un opérateur R conçu pour la con­ca­té­na­tion des Strings, car l’addition est uni­que­ment définie sur des types de données nu­mé­riques.

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

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

tolower() / toupper()

Ces deux fonctions des R Strings, « tolower() » et « toupper()“, vous per­met­tent de passer l’ensemble des ca­rac­tères de votre chaîne en mi­nus­cules ou en ma­jus­cules. Pour ce qui est du paramètre de transfert, les deux fonctions ont besoin de la String avec laquelle elles doivent tra­vail­ler, 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’uti­li­sa­tion de fonctions telles que « tolower() » ou « toupper() » peut s’avérer par­ti­cu­liè­re­ment utile lorsque les dif­fé­rentes entrées doivent être traitées en fonction de leur casse.

strsplit()

La fonction « strsplit() » dans R peut sembler familière aux pro­gram­meurs ex­pé­ri­men­tés ; ils sont en effet sus­cep­tibles de l’avoir déjà ren­con­trée dans un autre langage. Et pour cause, Python propose également une fonction « split() ». Pour ce qui est du paramètre de trans­mis­sion, la fonction « strsplit() » a besoin de la String que vous souhaitez diviser en sous-chaînes, ainsi que du sé­pa­ra­teur 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’es­pa­ce­ment présent dans la String initiale a été utilisé comme un sé­pa­ra­teur.

trimws()

La fonction « trimws() » vous permet de supprimer les ca­rac­tères d’es­pa­ce­ment avant et après la R String concernée, ce qui peut s’avérer par­ti­cu­liè­re­ment utile pour le trai­te­ment des entrées par les uti­li­sa­teurs, qui peuvent ainsi supprimer les ca­rac­tères d’es­pa­ce­ment in­dé­si­rables (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’es­pa­ce­ment au début ou à la fin de la chaîne de ca­rac­tè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 cor­res­pond à la chaîne de ca­rac­tères destinée à remplacer les oc­cur­rences de la sous-chaîne concernée. Quant au troisième paramètre de transfert, il concerne la String à laquelle le rem­pla­ce­ment 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 prin­ci­pales fonc­tion­na­li­té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é­con­cer­ter par la commande R « length() », même si elle peut in­tui­ti­ve­ment vous paraître plus logique : dans le langage R, « length() » est utilisée pour dé­ter­mi­ner 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 à dis­po­si­tion de vos projets de pro­gram­ma­tion, pourquoi ne pas utiliser l’un des espaces Web proposés par IONOS et ainsi bé­né­fi­cier d’une garantie « Satisfait ou remboursé » de 30 jours ?

Ca­rac­tères de commande et séquences d’échap­pe­ment

Vous souhaitez exercer une influence sur le flux de texte de vos R Strings (par exemple à l’aide de sauts de ligne ou de ta­bu­la­tions) ? Pour ce faire, vous pouvez utiliser les ca­rac­tères de commande. Ceux-ci cor­res­pon­dent à une forme pré­dé­fi­nie de séquences d’échap­pe­ment, la plupart du temps utilisées pour concevoir des sorties texte.

Il est également possible d’afficher des ca­rac­tères spéciaux marquant nor­ma­le­ment le début ou la fin d’une String dans le cadre de la syntaxe R, comme des guil­le­mets, à l’aide de séquences d’échap­pe­ment, et ce, di­rec­te­ment à l’intérieur des chaînes de ca­rac­tères. Les séquences d’échap­pe­ment sont fa­ci­le­ment re­con­nais­sables, car elles sont in­tro­duites par une barre oblique inversée. Vous trouverez ci-dessous les prin­ci­paux ca­rac­tères de commande et séquences d’échap­pe­ment présents dans le langage R :

  • \n : nouvelle ligne/saut de ligne
  • \t : ta­bu­la­tion
  • \ : barre oblique inversée
  • " : guillemet double
  • ' : guillemet simple
Aller au menu principal