从会话R中删除对象

时间:2016-09-20 22:34:44

标签: r

在遇到问题的几个小时之后,我需要向您寻求帮助 - 如何从R(R Studio)中的会话中删除对象。 我创建了它们作为交叉会话:

displayed <<- c("D4")

但是出于测试目的,我必须在运行代码之前删除它们。我尝试了很多方法:

displayed<<-NULL
rm(list=ls(all=TRUE))
rm(list=ls())

并且调试和代码逻辑仍然表明它们存在于下一行:

if (!exists('displayed')){
  displayed <<- c("D4")
  displayedspaces<<-c("4195")
}

如何在没有Domestos或重启R Studio的情况下杀死它们?我基本上需要测试它以便在Shiny中进一步部署,并且不想继续重新启动系统或等到睡眠时间过去。

请注意:
它是<<-所以它不是本地对象;它是一个会话对象。

注2:
Gregor的想法很有效,Spacedman,Jonathan代码(简化)很容易:我在<<-创建了一个Global对象,它是一个空间数据框(这里当然是一个简化的列表),所以有没有任何其他方式 - 你不能创造空的。然后我尝试了第二次引用中的3种删除方法:

displayed<<-NULL
rm(list=ls(all=TRUE))
rm(list=ls()

并通过browser()检查它是否存在(确实存在)并运行(!exists) - 它也是如此。我不知道为什么无效无法工作,但接下来的两种方法只是简单地清除了我认为的本地实例,这与SO上其他几个线程中的建议相反。

0 个答案:

没有答案