有办法打印文本和变量内容在同一行?例如,

wd <- getwd()
print("Current working dir: ", wd)

我找不到任何允许我这样做的语法。


当前回答

一个技巧是像这样将你的代码段包含到()中:

(wd <- getwd())

这意味着当前工作目录被分配给wd,然后打印出来。

其他回答

或者使用消息

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"

注意,在字符串和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()

您可以使用paste0或cat方法将字符串与R中的变量值组合

例如:

paste0("Value of A : ", a)

cat("Value of A : ", a)

一个技巧是像这样将你的代码段包含到()中:

(wd <- getwd())

这意味着当前工作目录被分配给wd,然后打印出来。

正如其他用户所说,cat()可能是最好的选择。

@krlmlr建议使用sprintf(),它目前是排名第三的答案。Sprintf()不是一个好主意。来自R文档:

格式字符串传递给操作系统的sprintf函数,不正确的格式会导致后者崩溃R进程。

没有很好的理由使用sprintf()而不是cat或其他选项。