Writing R Extensions手册指出:
data子目录用于数据文件,要么通过延迟加载提供,要么使用data()加载。 (选择是由DESCRIPTION文件中的'LazyData'字段进行的:默认情况下不会这样做。)它不应该用于包所需的其他数据文件,并且约定已经成长为使用目录inst /这些文件的extdata。)
但目前尚不清楚包裹“需要”哪些数据。我想将数据用于以下(并非总是相互排斥)的原因:
但目前尚不清楚哪一个应该放在data
文件夹中,哪个应放在inst/extdata
中。是否存在“数据”应该转移到其他地方的条件?
相关问题:以前的问题(例如inst and extdata folders in R Packaging和Using inst/extdata with vignette during package checking R 2.14.0)会提供一些使用说明,但不要告诉我如何决定使用哪个目录。另一个问题,R - where should I place RDA file - /R, /data, /inst/extdata?,最接近,但似乎专注于RDA和RData文件。
答案 0 :(得分:10)
data
目录提供data()
功能的数据,预计会在文件格式和扩展名方面遵循某些惯例。
inst/extdata
目录在安装后变为extdata/
,而且更像是一个狂野的西部,你可以做任何你想做的事情,并且你应该编写自己的访问者。
查看经验可能很有用。在我的机器上,在大约240个已安装的软件包中,完整的77个(或不是三分之一)有data/
,但只有4个(包括我的一个)有extdata.
。