我正在寻找一种以字符串形式获取cat()
命令输出的方法(而不是将其打印到屏幕上)。我以为paste()
可以做到这一点,但是有一些区别:
> cat("A", c(1,2,3), sep=",")
A,1,2,3
> paste("A", c(1,2,3), sep=",")
[1] "A,1" "A,2" "A,3"
> paste("A", c(1,2,3), collapse=",")
[1] "A 1,A 2,A 3"
是否有获取cat()
打印内容的功能?
答案 0 :(得分:4)
您还可以修改当前代码:
paste(c("A", c(1,2,3)), collapse = ",")
↑↑ ↑
[1] "A,1,2,3"
答案 1 :(得分:3)
如果我们特别想使用cat
(How to get the output of cat as a string instead of printing it?
)执行此操作,请使用capture.output
捕获输出。 print/cat
返回NULL
capture.output(cat("A", c(1,2,3), sep=","))
#[1] "A,1,2,3"
如果我们要编写输出,则可以选择file
cat("A", c(1, 2, 3), sep=",", file = "file.txt")
或使用toString
中的base R
toString(c("A", c(1,2,3)))
#[1] "A, 1, 2, 3"
或与str_c
library(stringr)
str_c(c("A", c(1,2,3)), collapse=",")
#[1] "A,1,2,3"