6

R でパッケージのビネットを書こうとしています。ヴァンダービルト大学のチュートリアル公式ドキュメントに従っています

.RnwSweave ファイルを作成しinst/doc、パッケージ内のサブディレクトリに配置しました。同じサブディレクトリ内に、いくつかのサンプル テキスト ファイルを含むinst/docフォルダーを配置しました。example私のパッケージにはmyparser(path)、ビネットで実証したい機能があります。myparser(path)フォルダ内のテキスト ファイルを絶対パス名で読み込んで、複数のデータ フレームを作成しますpath

次に、を使用してパッケージをチェックしたR CMD CHECKところ、次のエラーが発生しました。

* checking running R code from vignettes ...
   ‘mypackage-vignette.Rnw’ using ‘UTF-8’ ... failed
 ERROR
Errors in running code in vignettes:
when running code in ‘mypackage-vignette.Rnw’
  ...
> library(mypackage)
Loading required package: ggplot2

> myparser("/example/")
Warning in file(file, "rt") :
  cannot open file '/example/': No such file or directory

  When sourcing ‘mypackage-vignette.R’:
Error: cannot open the connection
Execution halted

フォルダーへの相対パスを使用しようとしてもうまくいかなかったことがわかりました (おそらく私には明らかだったはずです) が、この状況を修正する方法はまだわかりません。を自分のコンピューターpathのフォルダーへの絶対パスに置き換えたくありません。これは、ビネットのコードが他のユーザーのコンピューターで再現できなくなるためです。

ビネットのコードを再現できるように、サンプル ファイルをパッケージに含めるにはどうすればよいですか? 私はこの問題に正しい方法で取り組んでいますか?

(申し訳ありませんが、この質問自体はより再現可能ではありません!)

4

1 に答える 1

9

を実行するとわかるように、R はビネットをビルドする前にパッケージをインストールするため、 を使用system.file('doc', 'example', package = 'mypackage')してそのディレクトリを参照できますR CMD build mypackage

于 2012-07-11T01:43:02.647 に答える