在包检查 R 2.14.0 期间使用带有小插图的 inst/extdata

Bry*_*son 6 packages r package r-package

我有一个包,其中包含一个 csv 文件,我将其放入每个 R-exts 的 inst/extdata 中。小插图需要此文件。如果我直接编织小插图,一切正常。但是,当我运行 R --vanilla CMD check 时,检查过程找不到该文件。我知道它在检查过程中已移入 .Rcheck 目录,这可能是问题的一部分。但我不知道如何设置它,所以直接 Sweave 和小插图构建/检查都有效。

小插图包含这样一行:

EC1 <- dot2HPD(file = "../inst/extdata/E_coli/ecoli.dot",
node.inst = "../inst/extdata/E_coli/NodeInst.csv",
Run Code Online (Sandbox Code Playgroud)

函数 dot2HPD 通过以下方式访问文件:

    ni <- read.csv(node.inst)
Run Code Online (Sandbox Code Playgroud)

这是错误消息:

    > 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
Run Code Online (Sandbox Code Playgroud)

顺便说一句,这与此问题有关,但该信息似乎已过时并且并未完全涵盖该领域。

我在 Mac 上。

Max*_*ner 6

您是否尝试过使用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")
Run Code Online (Sandbox Code Playgroud)

  • 省略`inst`; 该目录在安装过程中被删除 -- `system.file("extdata", "E_coli", "ecoli.dot", package="your_package+name")` (5认同)