如何清除从工作区只有几个特定的​​对象?(How do I clear only a few spe

2019-06-26 16:32发布

我想从工作区中删除一些数据。 我知道了“全部清除”按钮将删除所有数据。 不过,我想只删除某些数据。

例如,我有在数据段,这些数据帧:

data
data_1
data_2
data_3

我想删除data_1data_2data_3 ,同时保持data

我试图data_1 <- data_2 <- data_3 <- NULL ,它不删除数据(我认为),但仍保持它在工作区,所以它不是完全我想做些什么。

Answer 1:

您可以通过键入找到答案?rm

rm(data_1, data_2, data_3)


Answer 2:

删除了一整套命名相似的对象一个有用的方法:

rm(list = ls()[grep("^tmp", ls())])

从而去除名称以字符串“TMP”的所有对象。

编辑:继GSEE的评论,使得使用的pattern参数:

rm(list = ls(pattern = "^tmp"))

编辑:在回答拉斐尔评论,一个只保留对象的子集的方法是命名要与特定模式保留数据。 例如,如果你想删除他的名字不开头的所有对象paper ,你会发出以下命令:

rm(list = grep("^paper", ls(), value = TRUE, invert = TRUE))


Answer 3:

下面的命令会做

rm(list=ls(all=TRUE))


Answer 4:

使用下面的命令

remove(list=c("data_1", "data_2", "data_3"))


Answer 5:

您可以使用apropos这是用来发现使用部分名称的对象功能。

rm(list = apropos("data_"))


Answer 6:

如果你只是想删除一组变量中的一个,那么你可以创建一个列表,并保持你需要的变量。 使反应函数可以用来从“数据”开除去所有的变量。 下面是该脚本:

0->data
1->data_1
2->data_2
3->data_3
#check variables in workspace
ls()
rm(list=setdiff(ls(), "data"))
#check remaining variables in workspace after deletion
ls()

#note: if you just use rm(list) then R will attempt to remove the "list" variable. 
list=setdiff(ls(), "data")
rm(list)
ls()


Answer 7:

paste0("data_",seq(1,3,1)) 
# makes multiple data.frame names with sequential number
rm(list=paste0("data_",seq(1,3,1))
# above code removes data_1~data_3


Answer 8:

如果你使用RStudio,请考虑从未使用rm(list = ls())的方法!*相反,你应该建立自己的工作流程经常周围采用Ctrl + Shift + F10快捷键重新启动R对话。 这是两个核弹当前设置的用户定义的变量,并清除加载的包,设备等工作的重复性将采用这种习惯显着提高的最快方法。

见这个优秀的线程为(H / T @kierisi)上Rstudio社区进行更深入的讨论(主要依据是什么,我已经说拍摄)。

我必须承认我自己的头几年的R编码脚本开始后功能脚本rm “绝招” -我在写这个答案的意见,别人谁可以开始了其研发事业。

*当然也有这个合法的用途-就像attach -但开始用户将服务要好得多(IMO)那个桥过在稍后的日期。



Answer 9:

要清除所有数据:

点击Misc>Remove all objects

你的好去。

要清除控制台:

点击edit>Clear console

无需任何代码。



Answer 10:

  1. 在RStudio,确保Environment选项卡在Grid (未List )模式。

  2. 勾选你想从环境中移除对象(或多个)。

  3. 点击扫帚图标。



文章来源: How do I clear only a few specific objects from the workspace?
标签: r rstudio