有办法打印文本和变量内容在同一行?例如,
wd <- getwd()
print("Current working dir: ", wd)
我找不到任何允许我这样做的语法。
有办法打印文本和变量内容在同一行?例如,
wd <- getwd()
print("Current working dir: ", wd)
我找不到任何允许我这样做的语法。
当前回答
正如其他用户所说,cat()可能是最好的选择。
@krlmlr建议使用sprintf(),它目前是排名第三的答案。Sprintf()不是一个好主意。来自R文档:
格式字符串传递给操作系统的sprintf函数,不正确的格式会导致后者崩溃R进程。
没有很好的理由使用sprintf()而不是cat或其他选项。
其他回答
一个技巧是像这样将你的代码段包含到()中:
(wd <- getwd())
这意味着当前工作目录被分配给wd,然后打印出来。
你可以用浆糊打印
print(paste0("Current working dir: ", wd))
和猫
cat("Current working dir: ", wd)
{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()。
正如其他用户所说,cat()可能是最好的选择。
@krlmlr建议使用sprintf(),它目前是排名第三的答案。Sprintf()不是一个好主意。来自R文档:
格式字符串传递给操作系统的sprintf函数,不正确的格式会导致后者崩溃R进程。
没有很好的理由使用sprintf()而不是cat或其他选项。
或者使用消息
message("Current working dir: ", wd)
@agstudy的答案在这里更合适