1

我想找到环境并将它们作为变量。我的目标是能够进行一些后续调用,sys.source即使我忘记了作为变量的环境,但我知道它的名称。例子:

MyFuns <- attach(NULL, name = 'Myfuns')
sys.source('myFunctions.R', envir = Myfuns)
rm('MyFuns')
any(grepl('MyFuns', search())) # It is there
sys.source('oneMoreFunction.R', envir = Myfuns) # Will not work because the variable as been suppressed.

谢谢!

4

1 回答 1

2

由于您已经附加了环境,您可以通过以下方式再次找到它as.environment

attach(NULL, name = "Myfuns")
assign("a", 1, env = as.environment("Myfuns"))
get("a", env = as.environment("Myfuns"))

sys.source('myFunctions.R', envir = as.environment("Myfuns"))

您可能还想考虑制作一个包,然后使用devtools::load_all()它来加载代码 - 它还将加载代码、编译 C 代码、尊重NAMESPACE、加载其他所需的包等。

于 2013-08-03T15:32:37.423 回答