R: Как запустить некоторый код при загрузке пакета?
Я учусь создавать пакет для R. Теперь, чтобы настроить его, мне нужно запустить некоторый код, когда пакет загружается через require(myPackage)
,
Я читаю документацию по help(".onLoad")
это просто смутило меня, потому что нет примера. Как я на самом деле использую .onLoad
?
Может кто-нибудь показать мне простой пример? Например я знаю export(myfun)
в файл NAMESPACE будет экспортировать myfun
для использования, какой код мне нужно запустить сказать rnorm(10)
при загрузке пакета?
2 ответа
Обычно существует "функция обработки" (традиционно называемая zzz.R) с задачами, выполняемыми при загрузке пакета, такими как загрузка библиотек и скомпилированного кода. Например, вы можете создать файл zzz.R, в котором вы создадите эту функцию:
.onLoad <- function(libname, pkgname){
x <- rnorm(10) ## dummy example
}
В электронной книге R Packages немного больше говорится об использовании
.onLoad()
а также
.onAttach()
: https://r-pkgs.org/r.html?q=onattach#when-you-do-need-side-effects