0

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

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

谢谢大家

4

2 回答 2

2

您需要使用get,指定您希望找到对象的环境:

get(var[1], envir=env1)
[1] "value1"

因此,如果您想以参数方式指定两个参数,请使用:

get(var[1], envir=get(env[1]))
[1] "value1"
于 2012-07-09T09:12:40.407 回答
0

我在您的帮助下找到的解决方案:

get(var[1], envir=eval(parse(text = env[1])))
于 2012-07-09T09:25:17.083 回答