ドキュメントでは、Rはinst/extdata/
に生データファイル(RdataでもRdaでもない)を配置することを推奨しています
最初の段落から: http://cran.r-project.org/doc/manuals/R-exts.html#Data-in-packages
Dataサブディレクトリはデータファイル用であり、遅延読み込みを介して、またはdata()を使用して読み込みを行うことができます。 (この選択は、DESCRIPTIONファイルの「LazyData」フィールドによって行われます。デフォルトでは、そうすることはありません。)パッケージが必要とする他のデータファイルには使用しないでください。また、慣例により、ディレクトリinst /を使用するようになりました。そのようなファイルのextdata。
だから、私はすべての生データをこのフォルダーに移動しましたが、パッケージをビルドして再ロードしてから、(たとえば)関数でデータにアクセスしようとすると、次のようになります。
read.csv(file=paste(path.package("my_package"),"/inst/extdata/my_raw_data.csv",sep=""))
# .path.package is now path.package in R 3.0+
「ファイルを開けません」というエラーが表示されます。
ただし、パッケージディレクトリに/extdata
というフォルダーがあり、その中にファイルが含まれているようです(ビルド後およびインストール後)。 /inst
フォルダはどうなりますか?
/ instフォルダー内のすべてがパッケージの/
にプッシュされますか?
あなたは非常に親密で、基本的にはこれを持っていました。 「R拡張機能の記述」からの正式な参照は次のとおりです。
1.1.3パッケージのサブディレクトリ
[...]
inst
サブディレクトリの内容は、インストールディレクトリに再帰的にコピーされます。inst
のサブディレクトリは、Rが使用するものと干渉しないようにする必要があります(現在、R
、data
、demo
、exec
、libs
、man
、help
、html
およびMeta
、および以前のバージョンではlatex
、R-ex
)を使用していました。inst
のコピーはsrc
のビルド後に行われるため、そのMakefile
はインストールするファイルを作成できます。 R 2.12.2より前のバージョンでは、ファイルはPOSIXプラットフォームにパッケージソースの権限でインストールされていたため、制限が厳しすぎないように注意する必要があります。R CMD build
は適切な調整を行います。インストールからファイルを除外するには、トップレベルのソースディレクトリのファイル.Rinstignore
に除外パターンのリストを指定できます。これらのパターンは、Perlのような正規表現(正確な詳細については、Rのregexp
のヘルプを参照)である必要があり、ファイルとディレクトリのパス(たとえば、doc/.*[.]png$
は、拡張子(小文字)に基づいて、inst/doc
のすべてのPNGファイルを除外します。
file.path
を使用するよりも、system.file
を使用する方が便利です。パッケージがインストールされたら、次のようにファイルを取得できます。
fpath <- system.file("extdata", "my_raw_data.csv", package="my_package")
fpath
には、HD上のファイルへの絶対パスが含まれます。