2011-11-14 54 views
3

我有一個包含一個csv文件的包,我把它放在每個R-exts的inst/extdata中。該文件是小插曲所需要的。如果我直接點出小插曲,一切運作良好。但是,當我運行R --vanilla CMD檢查時,檢查過程找不到該文件。我知道它在檢查過程中已經被移到了.Rcheck目錄中,這可能是問題的一部分。但我不知道如何設置它,所以直接Sweave和vignette構建/檢查工作。包檢查期間使用inst/extdata與小插曲R 2.14.0

暗角包含這樣一行:

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

和功能dot2HPD通過訪問文件:

ni <- read.csv(node.inst) 

這裏的錯誤消息:

> 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 

順便說一句,這與此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

Thanks Max。我試過了,但它返回一個空字符串。查看?system.file,這意味着軟件包必須已經安裝(因爲有一個lib.loc參數)。也許需要system.file的想法,但在檢查環境中進行評估。 –

+2

省略'inst';那個目錄在安裝過程中被刪除 - '''system.file(「extdata」,「E_coli」,「ecoli.dot」,package =「your_package + name」)' –

+0

我看到另外一個問題。感興趣的文件位於BAH/packages/HiveR/inst/extdata/E_coli /中,但在檢查過程中,「inst」文件夾消失,而現在感興趣的文件的路徑爲:BAHpackages/HiveR.Rcheck/HiveR/extdata /E_coli/NodeInst.csv –