Concaténer un vecteur dans une seule chaine de caractères

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Boury frederic
Messages : 12
Enregistré le : 15 Jan 2018, 08:09

Concaténer un vecteur dans une seule chaine de caractères

Messagepar Boury frederic » 20 Jan 2018, 15:36

Bonjour :

J'aimerai savoir si il existe une expression simple pour concaténer un vecteur (d'entier, de nombres, de texte) en une unique chaine de caractères.

L'exemple en mode indiciel ci dessous :

> u <- seq(1:10)
> u
[1] 1 2 3 4 5 6 7 8 9 10
> a <- ""
> for (i in 1:10) { a = paste(a, u[i])}
> a
[1] " 1 2 3 4 5 6 7 8 9 10"

la question est de parvenir à le faire directement en notation vectorielle ?

(j'ai essayé a <- paste(u) mais ça ne marche pas, car les valeurs de u[i] demeurent séparées ce que je cherche justement à éviter !)
> paste(u)
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"

Merci d'avance pour vos propositions

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Concaténer un vecteur dans une seule chaine de caractères

Messagepar Pierre-Yves Berrard » 20 Jan 2018, 16:40

Bonjour,

C'était presque ça :

Code : Tout sélectionner

paste(1:10, collapse = " ")
PY

Boury frederic
Messages : 12
Enregistré le : 15 Jan 2018, 08:09

Re: Concaténer un vecteur dans une seule chaine de caractères

Messagepar Boury frederic » 21 Jan 2018, 09:13

je viens d'essayer et ça a marché parfaitement. Merci beaucoup

> z = 15
> u <- seq(z)
> u
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
> paste(u, collapse = " ")
[1] "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15"

;-))


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité