web-dev-qa-db-ja.com

R:パッケージのロード時にコードを実行する方法は?

Rのパッケージを作成する方法を学んでいます。これを設定するには、require(myPackage)を介してパッケージをロードするときにコードを実行する必要があります。

help(".onLoad")のドキュメントを読んだのですが、例がないので本当に混乱しました。実際に_.onLoad_を使用するにはどうすればよいですか?

誰かが私に簡単な例を見せてもらえますか?たとえば、NAMESPACEファイルのexport(myfun)が使用するためにmyfunをエクスポートすることを知っていますが、パッケージのロード時にrnorm(10)と言う必要があるコードは何ですか?

35
xiaodai

通常、ライブラリやコンパイル済みコードのロードなど、パッケージのロード時に実行されるタスクを備えた「処理関数」(従来はzzz.Rと呼ばれていました)があります。たとえば、次の関数を作成するzzz.Rファイルを作成できます。

.onLoad <- function(libname, pkgname){
  x <- rnorm(10)   ## dummy example 
}
40
agstudy