2012-11-07 14 views
23

chciałbym zachować to wyjście w łańcuchu:oddzielając wartości liczbowe w ciąg

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

więc używam paste, ale uzyskać ten inny wynik:

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

Każdy pomysł jak Uzyskaj ciąg:

"hi 1 2 3 4 5" 

Dziękuję bardzo!

Odpowiedz

39

Możesz wymusić przymus dla postaci na x, łącząc ciąg z . Następnie użyj paste() z argumentem collapse. Jak w

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

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

Można użyć capture.output z kotem

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

użyć sprintf:

> x=1:5 
> str=sprintf("hi %d",x) 
> str 
[1] "hi 1" "hi 2" "hi 3" "hi 4" "hi 5" 
> 
Powiązane problemy