2012-11-07 25 views
23

Tôi muốn để lưu trữ kết quả này trong một chuỗi:giá trị số nối trong một chuỗi

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

Vì vậy, tôi sử dụng paste, nhưng tôi có được kết quả khác nhau này:

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

Bất kỳ ý tưởng làm thế nào để nhận được chuỗi:

"hi 1 2 3 4 5" 

Cảm ơn bạn rất nhiều!

Trả lời

39

Bạn có thể buộc ép buộc ký tự cho x bằng cách ghép chuỗi "hi" thành x. Sau đó, chỉ cần sử dụng paste() với đối số collapse. Như trong

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

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

Bạn có thể sử dụng capture.output với mèo

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

Bạn sử dụng sprintf:

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