一个新手问题:我想写一个通用函数,它可以在新环境中保存变量。我想要作为参数提供给函数的环境名称。
#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)
你能帮帮我吗?非常感谢!
答案 0 :(得分:1)
assign()
的第一个参数应该是字符值,而不是符号。 envir=
参数应该是适当的环境,而不是字符值。如果要在给定变量名称的字符值的情况下获取变量的值,请使用get()
。这应该工作
assign("a", 1, envir=get(env_n))
但对于新手来说,这是一个非常不寻常的操作。使用。我会后退一步,看看你想要做什么,看看是否还有更多&#34; R-like&#34;做事的方式。