web-dev-qa-db-fra.com

Concaténer des valeurs numériques dans une chaîne

Je voudrais stocker cette sortie dans une chaîne:

> x=1:5
> cat("hi",x)
hi 1 2 3 4 5

J'utilise donc paste, mais j'obtiens ce résultat différent:

> paste("hi",x)
[1] "hi 1" "hi 2" "hi 3" "hi 4" "hi 5"

Toute idée comment obtenir la chaîne:

"hi 1 2 3 4 5"

Merci beaucoup!

29
kahlo

Vous pouvez forcer la coercition sur le caractère pour x en concaténant la chaîne "hi" Sur x. Ensuite, utilisez simplement paste() avec l'argument collapse. Un péché

x <- 1:5
paste(c("hi", x), collapse = " ")

> paste(c("hi", x), collapse = " ")
[1] "hi 1 2 3 4 5"
49
Gavin Simpson

Vous pouvez utiliser capture.output avec chat

capture.output(cat('hi',x))
[1] "hi 1 2 3 4 5"
10
mnel

Vous utilisez sprintf:

> x=1:5
> str=sprintf("hi %d",x)
> str
[1] "hi 1" "hi 2" "hi 3" "hi 4" "hi 5"
> 
7
loretoparisi