有办法打印文本和变量内容在同一行?例如,
wd <- getwd()
print("Current working dir: ", wd)
我找不到任何允许我这样做的语法。
有办法打印文本和变量内容在同一行?例如,
wd <- getwd()
print("Current working dir: ", wd)
我找不到任何允许我这样做的语法。
当前回答
你可以用浆糊打印
print(paste0("Current working dir: ", wd))
和猫
cat("Current working dir: ", wd)
其他回答
你可以用浆糊打印
print(paste0("Current working dir: ", wd))
和猫
cat("Current working dir: ", wd)
{glue}提供了更好的字符串插值,见我的其他答案。而且,正如Dainis正确地提到的,sprintf()并非没有问题。
还有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))
最简单的方法是使用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"
注意,在字符串和x之间没有默认分隔符。在字符串末尾使用空格是一个快速修复:
> 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"
Or
> print(paste0("This is ", date()))
[1] "This is Sat Feb 21 15:34:56 2015"
正如其他用户所述,还可以使用cat()
{glue}包提供字符串插值。在这个例子中,{wd}被替换为变量的内容。还支持复杂表达式。
library(glue)
wd <- getwd()
glue("Current working dir: {wd}")
#> Current working dir: /tmp/RtmpteMv88/reprex46156826ee8c
由reprex包于2019-05-13创建(v0.2.1)
请注意,打印的输出不包含[1]工件和“引号”,其他答案使用cat()。
一个技巧是像这样将你的代码段包含到()中:
(wd <- getwd())
这意味着当前工作目录被分配给wd,然后打印出来。