10

R 拡張機能の記述マニュアルには、次のように記載されています。

data サブディレクトリは、データ ファイル用であり、遅延読み込みまたは data() を使用した読み込みで利用可能になります。(この選択は、DESCRIPTION ファイルの 'LazyData' フィールドによって行われます。デフォルトでは、そうではありません。) パッケージが必要とする他のデータ ファイルには使用しないでください。慣習は、ディレクトリ inst/ を使用するように成長しました。そのようなファイルの extdata 。)

しかし、パッケージがどのデータを「必要とする」かはまだ明確ではありません。次の理由でデータを使用したいと考えています (必ずしも相互に排他的ではありません)。

  • ドキュメンテーション
    • 関数の例
    • 機能テスト
    • ビネット
  • 元のデータセットへのアクセスを提供する
  • パッケージ内の関数でデータを利用できるようにする (例: ルックアップ テーブル / ディクショナリ)

dataしかし、これらのうちのどれをフォルダに入れ、どれを に入れるべきかは明確ではありませんinst/extdata。また、「データ」が別の場所に移動する条件はありますか?

関連する質問:以前の質問 (例: R Packaging の inst および extdata フォルダーおよびUsing inst/extdata with vignette during package checks R 2.14.0 ) では、使用方法についていくつかの説明が示されていますが、どのディレクトリを使用するかを決定する方法については説明されていません。別の質問ですが、R - RDA ファイルはどこに配置すればよいですか - /R、/data、/inst/extdata? 、最も近いものになりますが、特に RDA および RData ファイルに焦点を当てているようです。

4

1 に答える 1

11

dataディレクトリは関数のデータを提供し、data()ファイル形式と拡張子に関して特定の慣習に従うことが期待されます。

inst/extdataディレクトリはインストールextdata/時になり、ワイルドウェストのようになり、好きなことを行うことができ、独自のアクセサーを作成することが期待されます。

経験論を見ることは役に立つかもしれません。私のマシンでは、約 240 個のインストール済みパッケージのうち、77 個 (または 3 分data/の 1 ではない) がextdata..

于 2012-12-10T21:40:35.257 に答える