21

Writing R Extensions Manualから、私はそれを読みました

R 2.14.0 以降、Sweave ソースの推奨される場所はソース パッケージのサブディレクトリ vignettes ですが、R の以前のバージョンとの互換性のために、vignettes が存在しない場合は inst/doc で vignette ソースが検索されます。

ただし、vignettesパッケージ ソースのサブディレクトリを作成すると、実行しdevtools::check()たりR CMD checkPackage vignette(s) without corresponding PDF. ビネット (.Rnw および .pdf) をinst/docチェックに入れると、問題なく完了します。インストールされたパッケージでライブラリを調べてみましたが、という名前のディレクトリは見つかりませんでしたvignettes。非推奨の場所を引き続き使用する必要がありますか?

4

2 に答える 2

22

.Rnwソースを同じように入れましたvignettes/が、重要なステップを逃しました。ソースツリーをチェックしないでください。予想されるワークフローは、ソース tarball をビルドしてから、その tarball をチェックすることです。tarball をビルドすると、ビネット PDF が作成されます。

R CMD build ../foo/pkg
R CMD check ./pkg-0.4.tar.gz

たとえば、パッケージ名とバージョンが追加された現在のディレクトリにパッケージを../foo/pkg作成する際に、ソースからソース パッケージ tarball をビルドします。次に、そのソース パッケージで.tar.gz実行します。R CMD check

ビネットをビルドしたい場合は、それを入れてvignettes/ソースパッケージをビルドしてください。将来的に、R Core はビネットを作成する機能を削除する可能性があるため、inst/doc今すぐ推奨される場所に移動し、ソースを直接確認しないようにしてください。

于 2012-09-07T21:04:16.527 に答える
13

これも解釈に苦労しました。

.Rnwファイルを に入れvignettes/、PDF (適切に圧縮されたもの) を に入れることが意図されていると思いますinst/doc/。これは、十分に注意深く読んだ場合、ドキュメントと技術的に一致します。(つまり、ソースvignettes/に入れる必要があると書かれています。対応する PDF を に入れる必要があるという言葉がどこにあるのかわかりませんが、そうは言ってinst/doc/おら、その解釈はR CMD check喜ばしいようです。 ...)

解決策は@GavinSimpsonの回答にあります(つまり、ソースディレクトリ自体をチェックするのではなく、tarballをビルドしてからチェックすることが期待されています)。(私の 2 セントは、R コアが公式に非推奨 (そして最終的には削除) された場合、私たちすべてのグラウンドリングを混乱させるのではなく、直接ソース チェックを行うのが最善かもしれないということです ...)

于 2012-09-07T21:03:45.470 に答える