2011-11-14 13 views
3

私は、R-extsごとにinst/extdataに入れるcsvファイルを含むパッケージを持っています。このファイルはビネットに必要です。私がビネットを直接掃除すれば、すべてうまくいく。ただし、R - vanilla CMDチェックを実行すると、チェックプロセスはファイルを見つけることができません。私はそれがチェックの間に.Rcheckディレクトリに移動されたことを知っています、そして、これはおそらく問題の一部です。しかし、私はそれをセットアップする方法を知らないので、Sweaveとビネットの両方のビルド/チェックが機能します。パッケージ検査中にinst/extdataを使用してビネットを使用するR 2.14.0

ビネットは、このような行が含まれています。ところで

> tab <- read.csv("../inst/extdata/E_coli/NodeInst.csv") 
Warning in file(file, "rt") : 
    cannot open file '../inst/extdata/E_coli/NodeInst.csv': No such file or directory 

    When sourcing ‘HiveR.R’: 
Error: cannot open the connection 
Execution halted 

:経由

EC1 <- dot2HPD(file = "../inst/extdata/E_coli/ecoli.dot", 
node.inst = "../inst/extdata/E_coli/NodeInst.csv", 

とdot2HPDは、ファイルをアクセスする関数:

ni <- read.csv(node.inst) 

ここでエラーメッセージがありますがこれはこのquestionに関連していますが、その情報は古くなっているようで、この領域をカバーする。

私はMacを使用しています。

答えて

4

ハードコードされた相対パスの代わりにsystem.fileを使用してみましたか?

EC1 <- dot2HPD(file = system.file("inst", "extdata", "E_coli", "ecoli.dot", package = "your_package+name")) 
node.inst <- system.file("inst", "extdata", "E_coli", "NodeInst.csv", package = "your_package_name") 
+0

ありがとうございます。私はそれを試しましたが、空の文字列を返します。 ?system.fileを見ると、(lib.loc引数があるので)パッケージが既にインストールされていなければならないという意味合いがあります。おそらく必要なのは、system.fileの考え方ですが、チェック環境で評価されます。 –

+2

'inst'を省略します。そのディレクトリはインストール中に削除されます。 'system.file(" extdata "、" ecoli.dot "、package =" your_package + name ")' –

+0

別の問題があります。関心のあるファイルはBAH/packages/HiveR/inst/extdata/E_coli /にありますが、チェック中に "inst"フォルダが消え、代わりに興味のあるファイルへのパスが次のようになります:BAHpackages/HiveR.Rcheck/HiveR/extdata /E_coli/NodeInst.csv –

関連する問題