我有三个变量,我想从一个包含变量名的向量中调用它们,该变量名是通过连接字符串" 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))
实现所需的输出。