清除除一个变量rm之外的所有内容rm(list = ls())

时间:2018-11-09 18:04:38

标签: r

我知道rm(list = ls())将清除我的工作区。

我有一个数据框x,我想保留该数据框,同时从内存中删除其他所有内容。我该怎么办?

rm(list = ls(!x)) #???

1 个答案:

答案 0 :(得分:6)

尝试:rm(list = setdiff(ls(), x))

根据米奇的评论进行编辑:

环境中的三个对象:

ls()
[1] "data_df" "list_ls" "vector_v"

删除data_df:

rm(list = setdiff(ls(), "data_df"))
ls()
[1] "data_df"

要保留的东西的载体:

toKeep_v <- c("list_ls", "vector_v")
rm(list = setdiff(ls(), toKeep_v)
ls()
[1] "list_ls" "vector_v"