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

Другие вопросы по тегам