rm()和rm(list = ls())有什么区别?

时间:2017-04-28 05:41:43

标签: r

大多数文章,我都读过。他们建议使用rm(list=ls())但我不知道如果我想使用rm()

有什么区别

如果我想清除所有变量,是否可以使用rm()代替rm(list=ls())

请给我一些建议。感谢。

2 个答案:

答案 0 :(得分:11)

命令rm(list=ls())从当前工作空间(R内存)中删除所有对象,而rm()单独执行任何操作。您必须指定要删除的内容rm()。例如,

a<-1
rm(a)

会从您的工作区中删除对象a。相比之下,

a<-1
b<-2
rm(a)

会从内存中删除对象a,但保持对象b不受影响。以下内容将删除ab

a<-1
b<-2
rm(list=ls())

rm(list=ls())rm(a, b)更容易编写,a也会从您的环境中删除brm(a,b,c,d,e,f,g,h),并可扩展到任意数量的对象。想象一下,按名称删除100个对象:rm()等等......

您可以使用参数list为要删除的ls()一堆对象。由于def join_str(tmp_dict, x): lst_x = list(x) lst_keys = list(tmp_dict.keys()) lst_keys = [int(key) for key in lst_keys] max_key = max(lst_keys) for i in range(len(lst_x), max_key + 1): lst_x.append(' ') for key in tmp_dict: lst_x[key] = tmp_dict[key] return ''.join(lst_x) 列出当前工作空间中的所有对象,并将其指定为要删除的对象列表,因此上述命令将从R存储器中删除所有对象。

答案 1 :(得分:2)

rm()基本上是&#39;删除{base}&#39;,它用于从指定环境中删除对象

命令rm(list=ls())表示 -

list=ls()是此命令的基础,表示您指的是工作空间中存在的所有对象。

同样,当您使用rm()作为基础时,list=ls()用于从工作区中删除所有对象。

然而, 当涉及单独使用rm() 时,它不会做任何事情作为基础&#39;没有。

您可以使用rm()删除特定变量,方法是将其作为&#39; base&#39;:

例如

a <-45                                                                          
rm(a)