RStudio v。1.0.1.153で新しいプロジェクトを "Rパッケージ"として作成しました。デフォルトでは、このような新しいRパッケージプロジェクトが構築し、リロードパッケージ(Ctrlキー+ Shiftキー+ B)を、その後、別のRセッションで簡単にロードすることで、簡単にアクセスすることができ新しいRパッケージにパッケージファイルを追加してアクセスする
hello <- function() {
print("Hello, world!")
}
テンプレート関数を含むファイルhello.R
が付属しています組み込みパッケージと関数の実行:
> library(mylibrary)
> hello()
[1] "Hello, world!"
ここでは、パッケージ内の複数のファイルに機能を編成したいと思います。私はパッケージを再構築し、ライブラリを再ロードするとき、私は機能にアクセスすることはできません、しかし
helloYouToo <- function() {
print("Hello you too!")
}
:私は別の機能を持つパッケージの.\R\
サブディレクトリに新しいファイルmethods.R
を追加
> library(mylibrary)
> helloYouToo()
Error in helloYouToo() : could not find function "helloYouToo"
私にはいくつか質問があります。どのようにすべきであるI
- デバイドいくつかのファイル(だけではなく、単一の
hello.R
ファイル)にパッケージ・ファンクションファイルと関数がパッケージに含まれており、 - もアクセスするための好ましい方法は何されて定義されたように、 パッケージ内同じパッケージ内で別のファイル(例えば
methods.R
など)に定義されているような関数ですか?
ファイルを追加する際にいくつかの初心者用マニュアルを読もうとしましたが、パッケージのすべての機能を1つのファイルに書き込むことに専念するようです。 – Heikki
NAMESPACEページで関数をエクスポートしましたか?あなたはドキュメントを構築するためにroxygenを使用していますか? "Rパッケージ"または "Rパッケージを使用したdevtools"だけを選択しましたか?あなたがまだいないなら、あなたはおそらく[Hadley's R packages guide](http://r-pkgs.had.co.nz/) – MrFlick
を読んでください。私はR 3.4.2を使用しています。そこでdevtoolsをインストールし、roxygenをインストールした 'devtools :: load_all()'を実行しようとしました。次に、 'devtools :: load_all()'を実行することで、パッケージを作成しているRセッションで 'helloYouToo()'が利用可能になりました。しかし、別のRセッションではその機能を利用できませんでした。驚くべきことに、他のRセッションを再起動すると、 'ライブラリ(mylibrary)'が 'helloYouToo()'を利用できるようになりました。 – Heikki