6

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

小插图包含这样的一行:

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

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

我在 Mac 上。

4

1 回答 1

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")
于 2011-11-14T23:12:36.267 回答