我正在尝试将字符串变量名称传递给粘贴函数,以将所有字符串粘贴在一起。这是一个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
动词都没有成功。
答案 0 :(得分:1)
@MrFlick建议的答案很简单。这是对单个字符使用get
的方法。
paste0(sapply(letters[1:3], get, envir = .GlobalEnv), collapse = " ")
#[1] "abc def ghi jkl mno pqr stu vwx yz1"
答案 1 :(得分:1)
为完整起见,要应用准引号,您只需要将字符串转换为符号:
s <- lapply( letters[1:3], as.name )
paste( do.call("c", s), collapse=" " )
# [1] "abc def ghi jkl mno pqr stu vwx yz1"