2012-11-07 4 views
23

Je voudrais stocker cette sortie dans une chaîne:valeurs numériques Concaténer dans une chaîne

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

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

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

comment une idée de obtenir la chaîne:

"hi 1 2 3 4 5" 

Merci beaucoup!

Répondre

39

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

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

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

Vous pouvez utiliser capture.output avec chat

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

Vous utilisez sprintf:

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