我想产生这个字符串:
使用All my variables: a, b, c
从此变量vars <- c("a", "b", "c")
glue()
。
到目前为止,我最大的尝试是:
library(glue)
glue('All my variables: {paste(vars, collapse = ", ")}')
问题:
有什么更容易,更清洁的方法来实施我监督的工作吗?
其他尝试:
以下显然失败了,我只想表明我调查了文档并做出了一些努力:)。
glue('All my variables: {vars}')
glue_data('All my variables: {vars}', .sep = ", ")
答案 0 :(得分:4)
你可以做,
paste('All my variables:', toString(vars))
#[1] "All my variables: a, b, c"
答案 1 :(得分:2)
无需任何软件包即可轻松完成此操作。这里有一些可能性:
# 1
paste("All my variables:", toString(vars))
## [1] "All my variables: a, b, c"
# 2
sprintf("All my variables: %s", toString(vars))
## [1] "All my variables: a, b, c"
# 3
sub("@", toString(vars), "All my variables: @")
## [1] "All my variables: a, b, c"
如果要执行此操作以输出警告或错误消息:
# 4a
warning("All my variables: ", toString(vars))
## Warning message:
## All my variables: a, b, c
# 4b
stop("All my variables: ", toString(vars))
## Error: All my variables: a, b, c
使用gsubfn软件包中的fn$
。在任何函数调用前加上fn$
(例如此处的c
),然后将使用准Perl字符串插值处理参数。
# 5
library(gsubfn)
fn$c("All my variables: `toString(vars)`")
## [1] "All my variables: a, b, c"
或
# 6
library(gsubfn)
string <- toString(vars)
fn$c("All my variables: $string")
## [1] "All my variables: a, b, c"
答案 2 :(得分:1)
您还可以使用glue::glue_collapse()
:
vars <- c("a", "b", "c")
glue("All my variables : {glue_collapse(vars, sep = ', ')}")
#> All my variables : a, b, c