Использование inst / extdata с виньеткой во время проверки пакета R 2.14.0 - PullRequest
3 голосов
/ 15 ноября 2011

У меня есть пакет, который содержит CSV-файл, который я помещаю в inst / extdata для каждого R-exts. Этот файл нужен для виньетки. Если я выкину виньетку напрямую, все будет хорошо. Однако когда я запускаю проверку R --vanilla CMD, процесс проверки не может найти файл. Я знаю, что он был перемещен в каталог .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.

1 Ответ

4 голосов
/ 15 ноября 2011

Вы пытались использовать 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")
...