rm()和rm(list=ls())之间有什么区别?
大多数文章,我都读过。他们建议使用rm()和rm(list=ls())之间有什么区别?,r,R,大多数文章,我都读过。他们建议使用rm(list=ls()),但如果我喜欢使用rm() a <-45 rm(a) 如果要清除所有变量,是否可以使用rm()而不是rm(list=ls()) a <-45
rm(list=ls())
,但如果我喜欢使用rm()
a <-45
rm(a)
如果要清除所有变量,是否可以使用rm()
而不是rm(list=ls())
a <-45
rm(a)
请给我一些建议。谢谢。命令rm(list=ls())
从当前工作区(R内存)中删除所有对象,而rm()
本身不起任何作用。您必须指定要删除的内容。比如说,
a<-1
rm(a)
a <-45
rm(a)
将仅从内存中删除对象a
,但保持对象b
不变。以下内容将同时删除a
和b
:
a<-1
b<-2
rm(list=ls())
a <-45
rm(a)
arm()
基本上是“删除{base}”,它用于从指定环境中删除对象
a <-45
rm(a)
命令rm(list=ls())
表示-
a <-45
rm(a)
list=ls()
a <-45
rm(a)
类似地,当您使用list=ls()
作为基础时,rm()
用于从工作区中删除所有对象
a <-45
rm(a)
但是,,
当涉及到单独使用rm()
时,它不会做任何事情,因为没有“基础”
a <-45
rm(a)
您可以使用rm()
将特定变量作为“基”删除到:
a <-45
rm(a)
例如
a <-45
rm(a)
一个rm()
本身不会做任何事情。请尝试查看?rm
和?ls
。如果执行ls()
,它将列出全局环境中的变量。要清除R内存,我应该使用gc(),对吗?它是否需要使用gc(list=ls())?gc()
用于垃圾收集,这迫使R释放它可能仍然保留的操作系统内存。有关详细信息,请参见R中的?gc()
。为了学究式,rm(list=ls())不会删除以开头的对象。这些可以通过rm(list=ls(all.names=TRUE))删除,但我更愿意重新启动RTH。目前的答案并不正确。该命令只会从执行该命令的环境中的符号列表中删除(非“点”)对象。它不会从内存中删除“所有对象”,我认为这对于新用户来说可能是一个令人困惑的答案。它使用术语“base”,这也是R程序的核心名称空间的名称rm()
对base
-命名空间中的对象不执行任何操作。