Answers:
您将通过键入找到答案 ?rm
rm(data_1, data_2, data_3)
rm(list = ls()[grep("A", ls())])
删除整套类似命名对象的有用方法:
rm(list = ls()[grep("^tmp", ls())])
从而删除名称以“ tmp”开头的所有对象。
编辑:按照Gsee的评论,使用pattern
参数:
rm(list = ls(pattern = "^tmp"))
编辑:回答拉斐尔评论,仅保留对象子集的一种方法是使用特定模式命名要保留的数据。例如,如果要删除名称不以其开头的所有对象,则paper
发出以下命令:
rm(list = grep("^paper", ls(), value = TRUE, invert = TRUE))
ls
接受一个pattern
论点,所以您可以简化为rm(list=ls(pattern="^tmp"))
value=TRUE
与grep
...一起使用时会发生什么,可以节省一些输入。
pattern
参数中grep
:rm(list = grep("^paper|ObjectExample", ls(), value = TRUE, invert = TRUE))
以下命令将做
rm(list=ls(all=TRUE))
data1
,data2
和data3
(即data
会被删除太)。如果那正是您想要的,那没关系...
如果您只想删除一组变量中的一个,则可以创建一个列表并仅保留所需的变量。rm函数可用于除去“数据”之外的所有变量。这是脚本:
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()
如果您使用的是RStudio,请考虑不要使用这种rm(list = ls())
方法!*相反,您应该围绕频繁使用Ctrl
+ Shift
+ F10
快捷键重新启动R会话来构建工作流。这是核对当前一组用户定义变量并清除加载的程序包,设备等的最快方法。采用这种习惯,可以显着提高工作的可重复性。
有关更详尽的讨论,请参见Rstudio社区(h / t @kierisi)上的该优秀帖子(主要要点已由我已经讲过的内容所捕获)。
我必须承认我自己的R编码特色脚本的头几年是一个以rm
“技巧” 开头的脚本,我正在写这个答案,作为对任何可能开始R生涯的人的建议。
*当然,这样做有合理的用途-很像attach
-但初次使用的用户(IMO)在以后越过桥越好。
rm(list=ls())
。