10

编写 R 扩展手册指出:

data 子目录用于存放数据文件,可以通过延迟加载或使用 data() 加载。(由DESCRIPTION文件中的'LazyData'字段进行选择:默认不这样做。)它不应该用于包所需的其他数据文件,并且约定已经成长为使用目录inst/此类文件的 extdata。)

但目前还不清楚一个包“需要”哪些数据。我想出于以下(并不总是相互排斥)的原因使用数据:

  • 文件
    • 功能示例
    • 功能测试
    • 小插曲
  • 提供对原始数据集的访问
  • 使数据可用于包内的函数(例如查找表/字典)

但目前尚不清楚其中哪些应该放在data文件夹中,哪些应该放在inst/extdata. 是否有任何条件可以让“数据”转移到其他地方?

相关问题:以前的问题(例如R Packaging and Using inst/extdata with vignette during package checks R 2.14.0中的 inst 和 extdata 文件夹)给出了一些使用说明,但不要告诉我如何决定使用哪个目录。另一个问题,R - 我应该在哪里放置 RDA 文件 - /R、/data、/inst/extdata?, 最接近,但似乎特别关注 RDA 和 RData 文件。

4

1 回答 1

11

data目录为该data()功能提供数据,并预计在文件格式和扩展名方面遵循某些习惯。

inst/extdata目录extdata/在安装后就变成了一个狂野的西部,您可以做任何您想做的事情,并且希望您编写自己的访问器。

查看经验可能很有用。在我的机器上,大约 240 个已安装的软件包中,整整 77 个(或不到三分之一)有data/.,但只有 4 个(包括我的一个)有extdata..

于 2012-12-10T21:40:35.257 回答