如何在R studio环境下只删除运行最后一个脚本获得的对象?

问题描述 投票:0回答:1

我有一个根代码,其中有许多脚本。例如在运行了前4个脚本后,我可能需要取消环境中从第4个脚本中获得的对象。这可能吗?另一种方法是rm(),但这样的话,我必须重新运行所有的脚本,这需要一段时间,因为我必须加载大量的数据。

r object rstudio environment rm
1个回答
0
投票

定义一个函数 rm_new() 在你的 "根代码 "中)。

rm_new=function( old ) {
    current=ls(,envir=parent.frame())
    to_delete = current[!(current %in% old)]
    rm( list=to_delete,envir=parent.frame() )
}

当你到了 "根代码 "的最后,记住你想保留的对象。

obj_to_keep=c("obj_to_keep",ls())

现在你可以添加任何你想添加的东西 当你完成后,使用rm_new() 删除它。

a=1:100
obj_to_keep=c("obj_to_keep",ls())

b=1:50
ls()
# [1] "a"           "b"           "obj_to_keep" "rm_new"   

rm_new( old=obj_to_keep )
ls()
# [1] "a"           "obj_to_keep" "rm_new"  
© www.soinside.com 2019 - 2024. All rights reserved.