В пакете, который я намереваюсь отправить в CRAN, я использую .onload (...) для создания новой среды, в которой будут храниться необходимые переменные без прямой модификации глобальной среды.
.onLoad <- function(...) {
envr <- new.env() # when package is loaded, create new environment to store needed variables
}
Эта функция сохраняется в файле с именем zzz.R.
Затем я использую assign (...) для назначения переменных новой среде:
assign("x", x, envir = envr)
Чтобы получить переменные в новой среде в моих созданных функциях, я делаю
envr$x
Однако при сборке, установке, загрузке моего пакета и запуске моей основной функции я получаю сообщение об ошибке, что объект 'envr' не может быть найден.
Мне интересно, что здесь происходит.
Создание новой среды непосредственно в R работает нормально:
envr <- new.env()
envr$a <- 5
envr$a
[1] 5
Есть какие-нибудь мысли по решению проблемы?