访问环境中变量的参数值

时间:2012-07-09 09:07:25

标签: r

假设我们有一个或多个环境和变量。 我的问题是我们如何以参数方式访问这些变量的值。

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

提前谢谢大家

2 个答案:

答案 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])))