应该何时将数据输入/ data,何时应该进入/ inst / extdata?

时间:2012-12-10 21:24:53

标签: r package

Writing R Extensions手册指出:

  

data子目录用于数据文件,要么通过延迟加载提供,要么使用data()加载。 (选择是由DESCRIPTION文件中的'LazyData'字段进行的:默认情况下不会这样做。)它不应该用于包所需的其他数据文件,并且约定已经成长为使用目录inst /这些文件的extdata。)

但目前尚不清楚包裹“需要”哪些数据。我想将数据用于以下(并非总是相互排斥)的原因:

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

但目前尚不清楚哪一个应该放在data文件夹中,哪个应放在inst/extdata中。是否存在“数据”应该转移到其他地方的条件?

相关问题:以前的问题(例如inst and extdata folders in R PackagingUsing inst/extdata with vignette during package checking R 2.14.0)会提供一些使用说明,但不要告诉我如何决定使用哪个目录。另一个问题,R - where should I place RDA file - /R, /data, /inst/extdata?,最接近,但似乎专注于RDA和RData文件。

1 个答案:

答案 0 :(得分:10)

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

inst/extdata目录在安装后变为extdata/,而且更像是一个狂野的西部,你可以做任何你想做的事情,并且你应该编写自己的访问者。

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