有没有办法在同一行打印文本和变量内容?例如,
wd <- getwd()
print("Current working dir: ", wd)
我找不到任何有关允许我执行此操作的语法的信息。
你可以paste
使用print
print(paste0("Current working dir: ", wd))
或者cat
cat("Current working dir: ", wd)
{glue} 提供了更好的字符串插值,请参阅我的其他答案。此外,正如 Dainis 正确提到的,
sprintf()
并非没有问题。
还有sprintf()
:
sprintf("Current working dir: %s", wd)
要打印到控制台输出,请使用cat()
or 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"
请注意,字符串和 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"
或者
> print(paste0("This is ", date()))
[1] "This is Sat Feb 21 15:34:56 2015"
正如其他用户所说,您也可以使用cat()
正如其他用户所说, cat() 可能是最好的选择。
@krlmlr 建议使用 sprintf() ,它目前是排名第三的答案。sprintf() 不是一个好主意。来自 R 文档:
格式字符串传递给操作系统的 sprintf 函数,不正确的格式会导致后者使 R 进程崩溃。
没有充分的理由使用 sprintf() 而不是 cat 或其他选项。
您可以使用 paste0 或 cat 方法将字符串与 R 中的变量值结合起来
例如:
paste0("Value of A : ", a)
cat("Value of A : ", a)
一个技巧是将您的代码包含在()
这样的中:
(wd <- getwd())
这意味着将当前工作目录分配给wd
然后打印。