从全局环境中删除所有R Data对象

时间:2020-01-15 15:11:28

标签: r rstudio

我需要一个函数来删除“全局环境”的“数据”字段上的所有对象(下面突出显示的那个)。 我不知道在那里出现的所有对象类,但是,我想删除所有东西,除了矢量,整数和函数。

enter image description here

谢谢。

2 个答案:

答案 0 :(得分:2)

使用以下代码:代替要保留在引号中的那些变量,请参见下面的示例。

rm(list=setdiff(ls(), "keep_variable"))

另一种选择是将列表更改为网格,然后单击不需要的变量,然后按清除按钮。这将删除所有不需要的变量。

答案 1 :(得分:2)

“数据”标签似乎包含一维以上的任何内容。

如果执行ls(),则将获得全局环境中所有对象名称的字符串。您可以通过调用get("object_name")来表示这些对象中的任何一个,因此可以通过调用length(dim(get("object_name")))来获取其具有的维数。如果该值大于1,您就会知道这是您要删除的对象之一。

因此,您要做的就是将length(dim(get("object_name"))) > 1应用于ls()获得的全局对象的名称。您可以使用sapply

rm(list = ls()[sapply(ls(), function(x) length(dim(get(x))) > 1)])
相关问题