如何从R中的工作区中删除所有对象?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (66)

我有一个有很多对象的工作区,我想删除除某一个以外的所有对象。

理想情况下,我想避免输入rm(obj.1, obj.2... obj.n)

提问于
用户回答回答于

通过使用setdiff

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

一个完整例子。它会删除所有变量,除了x

x <- 1
y <- 2
z <- 3
ls()
[1] "x" "y" "z"

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

ls()
[1] "x"
用户回答回答于

使用gdata包里的keep函数:

> 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"

扫码关注云+社区