清除R工作区中的所有用户定义对象

21

我正在使用Ruby绑定程序与Rserve一起工作。建立与Rserve的连接非常简单,我认为将连接全局持久化是一个好主意,以避免拆除和重建连接所带来的开销(我没有在多线程环境中操作)。

由于定义的对象将会保留下来,并可能与后续操作类冲突,因此我想清除它们。我见过:

myvar = 1
rm(myvar)

然而,我更愿意重新初始化所有内容,以避免手动跟踪已定义的内容。这可行吗?如果是这样的话,与此相关的开销是否很大?


8
你是否在寻找 rm(list=ls()) - Señor O
6
?rm : `## 删除工作环境中的(几乎)所有内容。

没有警告,所以除非你确信,否则不要执行此操作。

rm(list = ls())`
- Señor O
3
我认为添加rm(list=ls(all=TRUE))将会删除所有内容或至少更多的内容。 - Tyler Rinker
就冲突而言,这个问题可能是相关的:https://dev59.com/HnE85IYBdhLWcg3wViE4 - Frank
是的,rm(list=ls()) 看起来希望能解决问题。谢谢大家。 - Allyl Isocyanate
2个回答

43

这是一种有点危险的做法,但是:rm(list=ls())真的不要这样做。


1
如何删除一些变量? - Cina
@中文 这个问题可能会有所帮助:https://dev59.com/HnE85IYBdhLWcg3wViE4?lq=1 - Seth
3
为什么会有一些危险?只是因为你可能意外删除了不想删除的东西吗? - user1205901 - Слава Україні
6
没问题,我的个人规则是不要将其写成脚本,但在交互命令行中使用是可以的。 - Seth

1
如果您正在使用一个名为data_new的数据集,您可以使用以下注释从工作区中删除有关data_new的所有信息:

rm(data = data_new)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接