在R中的同一行上打印string和variables内容
有没有办法在同一行上打印文本和variables内容? 例如,
wd <- getwd() print("Current working dir: ", wd)
我无法find任何有关允许我这样做的语法。
您可以使用paste
print
print(paste0("Current working dir: ", wd))
或cat
cat("Current working dir: ", wd)
还有sprintf()
:
sprintf("Current working dir: %s", wd)
要打印到控制台输出,请使用cat()
或message()
:
cat(sprintf("Current working dir: %s\n", wd)) message(sprintf("Current working dir: %s\n", wd))
或者使用message
message("Current working dir: ", wd)
@ agstudy的答案在这里更合适
最简单的方法是使用paste()
> paste("Today is", date()) [1] "Today is Sat Feb 21 15:25:18 2015"
paste0()
会导致以下结果:
> paste0("Today is", date()) [1] "Today isSat Feb 21 15:30:46 2015"
注意,string和x之间没有默认的分隔符。 在string末尾使用空格是一个快速修复:
> paste0("Today is ", date()) [1] "Today is Sat Feb 21 15:32:17 2015"
然后结合print()
> print(paste("This is", date())) [1] "This is Sat Feb 21 15:34:23 2015"
要么
> print(paste0("This is ", date())) [1] "This is Sat Feb 21 15:34:56 2015"
正如其他用户所说,你也可以使用cat()
正如其他用户所说,cat()可能是最好的select。
@krlmlrbuild议使用sprintf(),它是目前排名第三的答案。 sprintf()不是一个好主意。 从R文档:
格式string传递给操作系统的sprintf函数,不正确的格式会导致后者崩溃R进程。
在cat或其他选项上使用sprintf()没有什么好的理由。