Answers:
使用包中的keep
功能gdata
非常方便。
> ls()
[1] "a" "b" "c"
library(gdata)
> keep(a) #shows you which variables will be removed
[1] "b" "c"
> keep(a, sure = TRUE) # setting sure to TRUE removes variables b and c
> ls()
[1] "a"
我只是花了几个小时寻找一个类似但略有不同的问题的答案-我需要能够删除R中除少数向量外的所有对象(包括函数)。
一种方法是:
rm(list=ls()[! ls() %in% c("a","c")])
我要保留的向量分别命名为“ a”和“ c”。
希望这对任何寻求相同解决方案的人有所帮助!
rm(list=setdiff(ls(), c("a", "c")))
,对吧?参见@Andrie的答案。
替换v
为要保留的对象的名称
rm(list=(ls()[ls()!="v"]))
帽子提示:http : //r.789695.n4.nabble.com/Removing-objects-and-clearing-memory-tp3445763p3445865.html
如果您有许多不想保留相同模式的对象,则可以利用ls()
的pattern
选项:
> foo1 <- "junk"; foo2 <- "rubbish"; foo3 <- "trash"; x <- "gold"
> ls()
[1] "foo1" "foo2" "foo3" "x"
> # Let's check first what we want to remove
> ls(pattern = "foo")
[1] "foo1" "foo2" "foo3"
> rm(list = ls(pattern = "foo"))
> ls()
[1] "x"
rm
函数应始终谨慎使用(在shell中更是如此!)。请参阅我的编辑以获取对您问题的答案。
以下将从控制台中删除所有对象
rm(list = ls())