Comment concaténer un vecteur de chaînes dans R (avec exemples)
Vous pouvez utiliser l’une des méthodes suivantes dans R pour concaténer un vecteur de chaînes :
Méthode 1 : utiliser paste() dans Base R
paste(vector_of_strings, collapse=' ')
Méthode 2 : utilisez stri_paste() à partir du package stringi
library(stringi)
stri_paste(vector_of_strings, collapse=' ')
Les deux méthodes produiront le même résultat mais la méthode stri_paste() sera plus rapide, surtout si vous travaillez avec des vecteurs extrêmement grands.
Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.
Exemple 1 : Concaténer un vecteur de chaînes à l’aide de paste() en Base R
Le code suivant montre comment concaténer un vecteur de chaînes à l’aide de la fonction paste() de la base R :
#create vector of strings
vector_of_strings <- c('This', 'is', 'a', 'vector', 'of', 'strings')
#concatenate strings
paste(vector_of_strings, collapse=' ')
[1] "This is a vector of strings"
Notez que l’argument de réduction spécifie le délimiteur à placer entre chaque chaîne.
Dans l’exemple ci-dessus, nous avons utilisé un espace. Cependant, nous pourrions utiliser n’importe quel délimiteur, comme un tiret :
#create vector of strings
vector_of_strings <- c('This', 'is', 'a', 'vector', 'of', 'strings')
#concatenate strings using dash as delimiter
paste(vector_of_strings, collapse='-')
[1] "This-is-a-vector-of-strings"
Nous pouvons même n’utiliser aucun délimiteur si nous souhaitons que chacune des chaînes soit concaténée sans espace entre les deux :
#create vector of strings
vector_of_strings <- c('This', 'is', 'a', 'vector', 'of', 'strings')
#concatenate strings using no delimiter
paste(vector_of_strings, collapse='')
[1] "Thisisavectorofstrings"
Exemple 2 : Concaténer un vecteur de chaînes à l’aide de str_paste() du package stringi
Le code suivant montre comment concaténer un vecteur de chaînes à l’aide de la fonction stri_paste() du package stringi dans R :
library(stringi)
#create vector of strings
vector_of_strings <- c('This', 'is', 'a', 'vector', 'of', 'strings')
#concatenate strings
stri_paste(vector_of_strings, collapse=' ')
[1] "This is a vector of strings"
Notez que cela produit le même résultat que la fonction paste() de la base R.
La seule différence est que cette méthode sera plus rapide.
Selon la taille des vecteurs de chaînes avec lesquels vous travaillez, la différence de vitesse peut ou non vous intéresser.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans R :
Comment convertir un vecteur en chaîne dans R
Comment convertir des chaînes en minuscules dans R
Comment effectuer une correspondance de chaîne partielle dans R