我正在构建一个供内部使用的包devtools.我希望从文件/连接中获取数据包的负载(根据构建的日期包而不同).数据很大,因此在包构建期间解析和加载数据的一次性成本是优选的.
目前,我有一个data.R文件R/,它将数据分配给包级变量,这些值是在包安装期间分配的(或者至少是看起来正在发生的事情).这种不太理想的设置大多有效.为了使程序包的所有实例具有相同的数据,我必须使用程序包分发数据文件(目前inst/在构建程序包之前将其复制到帮助程序脚本中),而不是将它们全部打包在一起.肯定有更好的办法.
如:
data/
Collate(我认为),但后来我必须维护所有.R文件的顺序(但是由于增加了复杂性,我可能会使用Makefile?)tl; dr:有哪些方法可以将动态变化数据的快照添加到为部署冻结的R包中?
正如 @BenBolker在上面的评论中指出的那样,将数据集拆分为不同的包在社区中已有先例(尤其是核心包datasets),并且具有额外的好处。
函数与数据的分离还使得使用最新函数更容易处理数据的历史版本。
我目前有一个tools-to-munge包裹和一个things-to-munge包裹。使用帮助程序脚本,我可以构建并在两个包中tools-to-munge设置 a Suggests(或)以指向包的适当递增版本。构建新包后,我可以根据需要使用包中的函数构建包。DependsDESCRIPTIONtools-to-mungethings-to-mungetools-to-munge