有没有一种方法可以在同一行上打印文本和变量内容?例如,
wd <- getwd() print("Current working dir: ", wd)
字符串我找不到任何关于语法的东西,可以让我这样做。
qmb5sa221#
您可以将paste与print一起使用
paste
print
print(paste0("Current working dir: ", wd))
字符串或cat
cat
cat("Current working dir: ", wd)
型
xfb7svmp2#
{glue}提供了更好的字符串插值,参见my other answer。此外,正如Dainis正确地提到的,sprintf()也不是没有问题。还有sprintf():
sprintf()
sprintf("Current working dir: %s", wd)
字符串要打印到控制台输出,请使用cat()或message():
cat()
message()
cat(sprintf("Current working dir: %s\n", wd)) message(sprintf("Current working dir: %s\n", wd))
uelo1irk3#
或者使用message
message
message("Current working dir: ", wd)
字符串@agstudy的回答在这里更合适
9w11ddsr4#
最简单的方法是使用paste()
paste()
> paste("Today is", date()) [1] "Today is Sat Feb 21 15:25:18 2015"
字符串paste0()将导致以下结果:
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()
> 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()。
8zzbczxx5#
{glue} package提供字符串插值。在示例中,{wd}被替换为变量的内容。也支持复杂表达式。
{wd}
library(glue) wd <- getwd() glue("Current working dir: {wd}") #> Current working dir: /tmp/RtmpteMv88/reprex46156826ee8c
字符串创建于2019-05-13由reprex package(v0.2.1)请注意,打印输出不包含[1]工件和"引号,其他答案使用cat()。
[1]
"
pgccezyw6#
正如其他用户所说,cat()可能是最好的选择。@krlmlr建议使用sprintf(),目前它是排名第三的答案。sprintf()不是一个好主意。来自R文档:格式字符串被传递到OS的sprintf函数,不正确的格式会导致后者崩溃R进程。没有充分的理由使用sprintf()而不是cat或其他选项。
rta7y2nd7#
你可以使用paste0或cat方法来合并字符串和R中的变量值例如:
paste0("Value of A : ", a) cat("Value of A : ", a)
字符串
j0pj023g8#
一个技巧是将您的代码片段包含到()中,如下所示:
()
(wd <- getwd())
字符串这意味着当前工作目录被分配给wd,然后被打印。
wd
tct7dpnv9#
wd<-“D:/user”print(paste 0(“当前工作目录:“,wd))
9条答案
按热度按时间qmb5sa221#
您可以将
paste
与print
一起使用字符串
或
cat
型
xfb7svmp2#
{glue}提供了更好的字符串插值,参见my other answer。此外,正如Dainis正确地提到的,
sprintf()
也不是没有问题。还有
sprintf()
:字符串
要打印到控制台输出,请使用
cat()
或message()
:型
uelo1irk3#
或者使用
message
字符串
@agstudy的回答在这里更合适
9w11ddsr4#
最简单的方法是使用
paste()
字符串
paste0()
将导致以下结果:型
注意,字符串和x之间没有默认的分隔符。在字符串的末尾使用空格是一个快速解决方案:
型
然后将任意函数与
print()
组合合并型
或
型
正如其他用户所说,您也可以使用
cat()
。8zzbczxx5#
{glue} package提供字符串插值。在示例中,
{wd}
被替换为变量的内容。也支持复杂表达式。字符串
创建于2019-05-13由reprex package(v0.2.1)
请注意,打印输出不包含
[1]
工件和"
引号,其他答案使用cat()
。pgccezyw6#
正如其他用户所说,cat()可能是最好的选择。
@krlmlr建议使用sprintf(),目前它是排名第三的答案。sprintf()不是一个好主意。来自R文档:
格式字符串被传递到OS的sprintf函数,不正确的格式会导致后者崩溃R进程。
没有充分的理由使用sprintf()而不是cat或其他选项。
rta7y2nd7#
你可以使用paste0或cat方法来合并字符串和R中的变量值
例如:
字符串
j0pj023g8#
一个技巧是将您的代码片段包含到
()
中,如下所示:字符串
这意味着当前工作目录被分配给
wd
,然后被打印。tct7dpnv9#
wd<-“D:/user”print(paste 0(“当前工作目录:“,wd))