将字符串作为参数传递给粘贴函数

问题描述

我正在尝试将字符串变量名称传递给粘贴函数,以将所有字符串粘贴在一起。这是一个mwe:

#bind strings to variable names
a <- c("abc","def","ghi")
b <- c("jkl","mno","pqr")
c <- c("stu","vwx","yz1")

paste(eval(letters[1:3]))
# "a" "b" "c"

但是,我想要的是将3个变量的内容粘贴到一个字符串中

"abc def ghi jkl mno pqr stu vwx yz1"

我知道准报价,所以我尝试了

get(letters[1:3])

但这只能给我

"abc def ghi"

我知道这个主题在互联网上被疯狂的细节所覆盖,但是我尝试过每个rlang动词都没有成功。

解决方法

@MrFlick建议的答案很简单。这是对单个字符使用get的方法。

paste0(sapply(letters[1:3],get,envir = .GlobalEnv),collapse = " ")
#[1] "abc def ghi jkl mno pqr stu vwx yz1"
,

为完整起见,要应用准引号,您只需要将字符串转换为符号:

s <- lapply( letters[1:3],as.name )
paste( do.call("c",s),collapse=" " )
# [1] "abc def ghi jkl mno pqr stu vwx yz1"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...