6

我正在尝试为 R 中的一个包编写一个小插图。我一直在关注范德比尔特大学的教程以及官方文档

我制作了一个.RnwSweave 文件并将其放入inst/doc包内的子目录中。在同一个子目录inst/doc中,我放置了一个example包含一些示例文本文件的文件夹。我的包有一个myparser(path)我想在小插图中演示的功能;myparser(path)通过读取具有绝对路径名的文件夹内的文本文件来创建多个数据框path

然后我使用 检查包R CMD CHECK,并收到此错误:

* checking running R code from vignettes ...
   ‘mypackage-vignette.Rnw’ using ‘UTF-8’ ... failed
 ERROR
Errors in running code in vignettes:
when running code in ‘mypackage-vignette.Rnw’
  ...
> library(mypackage)
Loading required package: ggplot2

> myparser("/example/")
Warning in file(file, "rt") :
  cannot open file '/example/': No such file or directory

  When sourcing ‘mypackage-vignette.R’:
Error: cannot open the connection
Execution halted

我看到我尝试使用文件夹的相对路径没有工作(可能对我来说应该很明显),但我仍然不确定如何解决这种情况。我不想用我计算机path上文件夹的绝对路径替换,因为那样小插曲的代码将无法在其他人的计算机上重现。

如何在包中包含示例文件,以便小插图的代码可重现?我是否以正确的方式解决这个问题?

(抱歉,这个问题本身并不能重现!)

4

1 回答 1

9

您可以使用system.file('doc', 'example', package = 'mypackage')来引用该目录,因为 R 将在构建小插图之前安装包,正如您在运行R CMD build mypackage.

于 2012-07-11T01:43:02.647 回答