R |用变量替换环境名称

时间:2015-04-12 19:48:15

标签: r

一个新手问题:我想写一个通用函数,它可以在新环境中保存变量。我想要作为参数提供给函数的环境名称。

#create environment
my.env <- new.env()
#variable to store the name of the environment
env_n<-"my.env"
# now safe a  variable a with value 1 to my.env
my.env$a=1 #working

但我希望有一个适用于许多情况的通用解决方案,因为我想使用存储环境名称的变量。类似的东西:

#Things I tried
env_n$a=1 #not working
assign(a, 1, envir=env_n)
你能帮帮我吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

assign()的第一个参数应该是字符值,而不是符号。 envir=参数应该是适当的环境,而不是字符值。如果要在给定变量名称的字符值的情况下获取变量的值,请使用get()。这应该工作

assign("a", 1, envir=get(env_n))

但对于新手来说,这是一个非常不寻常的操作。使用。我会后退一步,看看你想要做什么,看看是否还有更多&#34; R-like&#34;做事的方式。

相关问题