假设我们有一个或多个环境和变量。 我的问题是我们如何以参数方式访问这些变量的值。
rm(list = ls())
env1 <- new.env()
env1$var1 <- "value1"
env2 <- new.env()
env2$var2 <- "value2"
env <- ls.str(mode="environment") # We get the environments
var <- ls.str(eval(parse(text = env[1])))# We get the variables of an environment
eval(var[1]) # We fail to get the value of a variable
get(var[1], envir=env[1]) # It does not work, either
提前谢谢大家
答案 0 :(得分:2)
您需要使用get
,指定您希望找到对象的环境:
get(var[1], envir=env1)
[1] "value1"
因此,如果要以参数方式指定两个arugment,请使用:
get(var[1], envir=get(env[1]))
[1] "value1"
答案 1 :(得分:0)
我在你的帮助下找到的解决方案:
get(var[1], envir=eval(parse(text = env[1])))