我想从工作区中删除一些数据。 我知道了“全部清除”按钮将删除所有数据。 不过,我想只删除某些数据。
例如,我有在数据段,这些数据帧:
data
data_1
data_2
data_3
我想删除data_1
, data_2
和data_3
,同时保持data
。
我试图data_1 <- data_2 <- data_3 <- NULL
,它不删除数据(我认为),但仍保持它在工作区,所以它不是完全我想做些什么。
我想从工作区中删除一些数据。 我知道了“全部清除”按钮将删除所有数据。 不过,我想只删除某些数据。
例如,我有在数据段,这些数据帧:
data
data_1
data_2
data_3
我想删除data_1
, data_2
和data_3
,同时保持data
。
我试图data_1 <- data_2 <- data_3 <- NULL
,它不删除数据(我认为),但仍保持它在工作区,所以它不是完全我想做些什么。
您可以通过键入找到答案?rm
rm(data_1, data_2, data_3)
删除了一整套命名相似的对象一个有用的方法:
rm(list = ls()[grep("^tmp", ls())])
从而去除名称以字符串“TMP”的所有对象。
编辑:继GSEE的评论,使得使用的pattern
参数:
rm(list = ls(pattern = "^tmp"))
编辑:在回答拉斐尔评论,一个只保留对象的子集的方法是命名要与特定模式保留数据。 例如,如果你想删除他的名字不开头的所有对象paper
,你会发出以下命令:
rm(list = grep("^paper", ls(), value = TRUE, invert = TRUE))
下面的命令会做
rm(list=ls(all=TRUE))
使用下面的命令
remove(list=c("data_1", "data_2", "data_3"))
您可以使用apropos
这是用来发现使用部分名称的对象功能。
rm(list = apropos("data_"))
如果你只是想删除一组变量中的一个,那么你可以创建一个列表,并保持你需要的变量。 使反应函数可以用来从“数据”开除去所有的变量。 下面是该脚本:
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()
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
如果你使用RStudio,请考虑从未使用rm(list = ls())
的方法!*相反,你应该建立自己的工作流程经常周围采用Ctrl
+ Shift
+ F10
快捷键重新启动R对话。 这是两个核弹当前设置的用户定义的变量,并清除加载的包,设备等工作的重复性将采用这种习惯显着提高的最快方法。
见这个优秀的线程为(H / T @kierisi)上Rstudio社区进行更深入的讨论(主要依据是什么,我已经说拍摄)。
我必须承认我自己的头几年的R编码脚本开始后功能脚本rm
“绝招” -我在写这个答案的意见,别人谁可以开始了其研发事业。
*当然也有这个合法的用途-就像attach
-但开始用户将服务要好得多(IMO)那个桥过在稍后的日期。
要清除所有数据:
点击Misc>Remove all objects
。
你的好去。
要清除控制台:
点击edit>Clear console
。
无需任何代码。
在RStudio,确保Environment
选项卡在Grid
(未List
)模式。
勾选你想从环境中移除对象(或多个)。
点击扫帚图标。