R: `rm(list=ls())` 是做什么的?

标签 r

这个问题在这里已经有了答案:





What is the difference between rm() and rm(list=ls())?

(2 个回答)


3年前关闭。




在查看其他人编写的一些 R 代码时,我发现靠近文档顶部 rm(list=ls()) .我试着查了一下 rm函数确实如此,据我所知,它会从工作区中删除指定的变量,因此如果您有 x=3某处,然后在运行后 rm(x)变量 x会表现得好像它从未被分配过(例如,如果您尝试打印它会抛出错误)。

但是如果我有这个权利,剩下的代码就很奇怪了,因为它似乎正在删除空列表。所以它根本没有做任何事情,对吧?有没有理由在这里有这个代码?

最佳答案

我认为 rm 的参数列表函数令人困惑,至少在我开始使用 R 时是这样。list参数实际上不应该是一个列表,而是一个字符向量。 ls -function 确实返回在调用它的环境中可见的所有命名对象的字符向量,并且如果没有为其 envir 提供其他值,则使用默认值。争论。如果在控制台执行此操作,则默认环境为全局环境。因此,这将清除所有“可见”对象(但不会清除在其他 namespace 或环境中定义的对象,例如存在于 basegraphicsstats 或其他加载的包 namespace 中的对象。

所以现在去看看?ls?rm以更好地了解他们的能力。特别是新用户应该清楚 R names 之间的差异。 ,即 symbols , 与它们的字符表示。 ls函数真正达到 R 实现的语言级别并返回非语言级别的值,而 rm通常采用语言级别的输入......除非(在这种情况下)为它的“列表”参数提供一个值,......这不是一个R列表。清除?也许,希望,多一点。

关于R: `rm(list=ls())` 是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51544044/

相关文章:

r - 使用摘要而不是原始数据的箱线图

r - 覆盖两个相同尺寸的冲积地 block

r - 使用 R 的过程 GLM (SAS)

r - SQL 查询列表内的数据框

r - 你如何清除 Shiny 的textInput框中的值

r - 带有按钮扩展的 Shiny DataTable : Save full data.框架

r - 煨 Get_attribute |没有到达运行错误

r - 在 Matlab 中调用 R 脚本

r - 如何在R中生成bin频率表?

r - 在苏门答腊 PDF 阅读器中打开编译的 .rnw 的自定义函数?