r语言 - 从连接的字符串调用变量



我有三个变量,我想从一个包含变量名的向量中调用它们,该变量名是通过连接字符串" variable."加上后缀"ONE", "TWO">

variable.ONE <- 1
variable.TWO <- 2
variable.THREE <- 3
j <- c("ONE","TWO","THREE")
variables <- paste0("variable.",j)

"Variables"打印:

variables
[1] "variable.ONE"   "variable.TWO"   "variable.THREE"

我正在寻找一种方法来返回向量"变量"中包含的所有三个变量的值,因此:

[1] 1 2 3

但是,调用"variables"未按预期工作:

get(variables)产生:

[1] 1

eval(noquote(variables)))产生:

[1] variable.ONE   variable.TWO   variable.THREE

eval(as.name(variables)))产生:

[1] 1

这些尝试只是其中的三个,没有一个能让我得到想要的——简单的——输出:

[1] 1 2 3

因此,我将非常感谢您可能提供的任何帮助!

提前感谢!

您可以使用mget(variables)作为字符向量,返回对象列表。

请注意,没有办法确保variables的每个元素都指向同一类型的原子对象(例如,如果variable.TWO <- "b"呢?),因此预期结果应该是一个列表而不是一个向量。

您可以使用unlist(mget(variables))实现所需的输出。