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



我正试图将字符串变量名传递给粘贴函数,以将所有字符串粘贴在一起。这是一个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"

相关内容

  • 没有找到相关文章

最新更新