Я новичок в R (и программирую в целом), поэтому я делал различные функции, чтобы согреться до него.
Я пытался выяснить, как сделать Rфункция, которая очистит мое глобальное окружение от всех объектов, кроме указанных нескольких.Код, который я видел для других, выглядит примерно так:
rm(list= ls()[!(ls() %in% c('keepThis','andThis'))],envir = )
Но всякий раз, когда я помещаю это в функцию (без аргументов), функция не удаляет что-либо из глобальной окружающей среды.Я хотел бы понять, почему.
Мне повезло больше:
clean <- function(except){
except = ifelse(is.character(except), except, deparse(substitute(except)))
rm(list=setdiff(ls(envir=.GlobalEnv), c(except,"clean")), envir=.GlobalEnv)
}
Но я не могу понять, как изменить это, чтобы позволить мне сэкономить больше, чемдва объекта одновременно.
В идеале я хотел бы иметь функцию, которая сохранит несколько указанных объектов по умолчанию, а также любые объекты, переданные в качестве аргументов.Это вообще возможно?