很抱歉,我没有可以重现此代码的代码,因为我不知道如何重现它。我试过了(编辑:尝试显示在下方)。这是大型项目的一部分。
Browse[1]> exists("startPoint")
[1] TRUE
Browse[1]> rm(startPoint)
Warning message:
In rm(startPoint) : object 'startPoint' not found
Browse[1]> startPoint
[1] 1037
这怎么可能?
我load()
从以前保存的文件中编辑了startPoint,并在load()
之后放置了一个浏览器,所以我很确定它有某种范围问题,但我不知道如何隔离它。
这一切都发生在一个函数中,所以它减少到
myFun <- function({
#lots of code
load(file = "filethatcontainsstartpoint")
if (exists("startPoint"))
rm(startPoint)
#lots of code
})
另一条评论之后第二次修改:
我试过了,但它运作正常
A<-B<-1
save(A,B,file = "boringfile")
rm(A)
rm(B)
testFunct <- function({browser();load("boringfile");print(A)})
testFunct()
Called from: testFunct()
Browse[1]> n
debug at #1: load("boringfile")
Browse[2]> n
debug at #1: print(A)
Browse[2]> A
[1] 1
Browse[2]> B
[1] 1
Browse[2]> rm(A)
Browse[2]> A
Error: object 'A' not found
正如所料。
如果保存是在函数内而不是在全局环境中完成的,那么这也可以按预期运行。
另外我不确定你为什么认为相关的目的,但是:
我有一些文件包含一个变量,如果它包含在文件中,我想删除它。大约一半的文件都有这个变量,所以我嵌入了一个加载,检查存在,删除,重新保存在我的程序中。当不浏览时,我发现此“未找到”错误,然后使用browser()
进行调查。
不要浪费任何时间提出解决方法,这很容易,我只是希望了解这个具体问题,如果有人知道的话。我没想到因为我无法进行MRE工作