在函数内部,我正在采购一个脚本:
f <- function(){
source("~/Desktop/sourceme.R") # source someone elses script
# do some stuff to the variables read in
}
f()
search() # library sourceme.R attaches is all the way in the back!
不幸的是,我采购的脚本并没有完全在我的控制之下。他们调用library(somePackage)
,它污染了搜索路径。
如果作者sourceme.R
期望他/她附加的包处于顶层/接近全局环境,这主要是一个问题。如果我自己附加了一些包来掩盖他/她期望可用的一些功能名称,那可不好。
有没有办法我可以获取脚本,但以某种方式制作我自己的临时搜索路径,在函数完成运行后“重置”?