Comment concaténer des valeurs et variables dans R ?

Pour concaténer des valeurs et variables dans R, il est possible d’utiliser la fonction paste().

Cette fonction est native et ne nécessite pas d’installer une librairie.

Elle accepte les parametres suivants :

  • sep = pour préciser le caractère qui séparera les différents objets à concatener
  • collapse = pour préciser le caractère qui separera les différentes combinaisons de vecteurs

Par exemple, pour concaténer « test » et « fonction », il s’agit de faire :

paste('test', 'fonction')

Ce qui donne « test fonction ».

On constate que la concatenation se fait en ajoutant un espace entre les éléments. Si on veut mettre un underscore, à la place de l’espace, le code correspondant est :

paste('test','fonction', sep='_')

Ce qui donne « test_fonction »

A savoir avec cette librairie :

  • Il est aussi possible de travailler avec des « vecteurs ». Ainsi paste(c(‘test’,’essai’), c(‘fonction’,’code’), collapse = ‘_’) renvoie « test fonction_essai code »
    Dans l’exemple ci-dessus, le separateur « _ » est appliqué après la combinaison de chaque vecteur)
  • Par defaut, la fonction paste() fait une concatenation avec un espace comme separateur. Si on souhaite faire une concaténation sans separateur, il est possible de le faire de 2 facons : paste(‘test’,’fonction’,sep= ») renvoie « testfonction » ou paste0(‘test’,’fonction’) renvoie aussi « testfonction »
r_paste0

Il existe aussi une autre librairie pour concaténer du texte. Il s’agit d’installer la librairie « glue ». Cette librairie est notamment incluse dans la librairie « stringr » (utile pour manipuler du texte).

Avec glue, il est possible de faire appel à des variables directement dans le texte.

Exemple :

library(glue)
nom_test <- "bidon"
glue('Le nom du test est {nom_test}.')

Si on souhaite utiliser des variables temporaires (non mémorisées) qui n’ont pas été déclarées avant, c’est possible :

glue('Le nom du test est {nom_test}. Il a été éxécuté {nombre_fois} fois', nom_test = "bidon", nombre_fois = 2)

Pour plus d’infos :

0.00 avg. rating (0% score) - 0 votes

Laissez un commentaire

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