Определите функцию rm_new()
(в своем 'root коде'):
rm_new=function( old ) {
current=ls(,envir=parent.frame())
to_delete = current[!(current %in% old)]
rm( list=to_delete,envir=parent.frame() )
}
Когда вы дойдете до конца своего 'root кода', запомните объекты, которые вы хотите keep:
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"