460 votes

Comment les 2 cordes peuvent être concaténés dans R

Comment puis-je fusionner/combiner deux valeur dans R ? Par exemple j’ai :

Mon but est d’obtenir la tmp comme une chaîne

Fonction qui peut faire cela pour moi ?

591voto

Rainer Points 1435
paste()

est le chemin à parcourir. Comme les précédentes affiches souligné, la pâte peut faire deux choses:

concaténer des valeurs dans une "chaîne", par exemple

> paste("Hello", "world", sep=" ")
[1] "Hello world"

où l'argument sep spécifie le caractère(s) pour être utilisé entre les arguments pour concaténer, ou l'effondrement de caractère vecteurs

> x <- c("Hello", "World")
> x
[1] "Hello" "World"
> paste(x, collapse="--")
[1] "Hello--World"

où l'argument collapse spécifie le caractère(s) pour être utilisé entre les éléments du vecteur réduit.

Vous pouvez même combiner les deux:

> paste(x, "and some more", sep="|-|", collapse="--")
[1] "Hello|-|and some more--World|-|and some more"

Espérons que cette aide.

94voto

rtelmore Points 392

``est une fonction pratique, par exemple

vous amènera à `` .

53voto

Richard Scriven Points 15577

Pour le premier non-paste de réponses, nous pouvons regarder stringr::str_c(). Il n'a pas été tant et aussi longtemps que cette question, donc je pense qu'il est utile de mentionner qu'il existe aussi.

Très simple à utiliser, comme vous pouvez le voir.

> tmp <- cbind("GAD", "AB")
> library(stringr)
> str_c(tmp, collapse = ",")
[1] "GAD,AB"

À partir de son fichier de documentation description, il s'adapte à ce problème bien.

Pour comprendre comment str_c fonctionne, vous devez imaginer que vous êtes la construction d'une matrice de chaînes de caractères. Chaque argument d'entrée forme une colonne, et est étendu à la longueur de la plus longue argument, à l'aide de l'habitude, le recyclage des règles. La sep chaîne est insérée entre chaque colonne. Si l'effondrement est NUL de chaque ligne est effondré dans une seule chaîne. Si non NULL cette chaîne est insérée à la fin de chaque ligne, et l'ensemble de la matrice réduites à une seule chaîne.

37voto

Ville Salonen Points 1233
<pre><code></code><p><em>R concaténer des chaînes</em> <a href="http://stat.ethz.ch/R-manual/R-patched/library/base/html/paste.html">http://stat.ethz.ch/R-Manual/R-Patched/Library/base/html/Paste.html</a></p></pre>

15voto

neilfws Points 3881

Compte tenu de la matrice, tmp, que vous avez créé :

Je suppose qu’il y a une raison pourquoi vous créez une matrice à l’aide de cbind, par opposition à simplement :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X