胶水矢量到字符串

时间:2019-09-04 13:21:23

标签: r glue

我想产生这个字符串: 使用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 = ", ")

3 个答案:

答案 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