Если вы заключаете это в функцию, вы должны иметь в виду, что функция при создании создаст свое собственное окружение.Поэтому вам необходимо указывать среду каждый раз (в каждом ls
, а также rm
).Вы, вероятно, хотите удалить их из .GlobalEnv
.
clean_workspace <- function(not_to_be_removed) {
rm(list =
setdiff(ls(envir = .GlobalEnv), c("clean_workspace", not_to_be_removed)),
envir = .GlobalEnv)
}
prj = '/path/to/project'
src = 'string'
data_to_clean = head(iris)
clean_workspace(c('prj', 'src'))
Чтобы не удалять саму функцию, ее следует добавить к значениям, которые нельзя удалить.
Если вы хотите узнать больше о средах, посмотрите этот обзор .