在包检查R 2.14.0期间使用inst / extdata和vignette

时间:2011-11-14 23:05:43

标签: r package packages r-package

我有一个包含csv文件的包,我把它放在每个R-exts的inst / extdata中。小插图需要此文件。如果我直接拍出小插图,一切都很好。但是,当我运行R --vanilla CMD检查时,检查过程找不到该文件。我知道在检查期间它已被移动到.Rcheck目录中,这可能是问题的一部分。但是我不知道如何设置它以便直接Sweave和vignette构建/检查工作。

小插图包含如下所示的行:

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上。

1 个答案:

答案 0 :(得分: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")