换句话说:如何获取函数环境的名称(而不是其封闭环境)。
我试图将函数的结果分配给函数内的某个名称。该名称不应出现在GlobalEnv中。我仍然关心这个名字,因为我处理deparse(substitute(x))
因此需要理解这个名字。
目前我只是在函数内部创建一个环境,我认为这是一种解决方法:
createList <- function(...,nm="nameString"){
myList <- list(...)
e1 <- new.env()
assign(nm,myList,envir=e1)
# obviously this does not make much sense
# just want to show that the envir thing works
e1[[nm]]
}
有没有办法更轻松地做到这一点?不是结果,而是将变量分配给某个名称
在一个函数内部。 environment(createList)
只是给我的后面.GlobalEnv
,即函数本身所在的环境,但我想知道如何调用环境,函数内部的变量存在于.Private?
答案 0 :(得分:1)
environment()
你想要的是什么吗?
createList <- function(...,nm="nameString"){
myList <- list(...)
assign(nm,myList,envir=environment())
get(nm)
}