R package dev:我应该将数据文件设置为内​​部还是外部?

时间:2017-08-03 19:55:54

标签: r packages devtools

(再次尝试这个问题,使其更清晰。)

我正在尝试编写一个程序包,以便更轻松地从Web API访问数据,并决定是否使查找表和查询默认内部或外部数据,如Data chapter中所述R包

据我了解,每个都有缺点。内部数据仅适用于包使用的数据,对用户不可见。它将devtools::use_data(x, mtcars, internal = TRUE)添加到包中,并将sysdata.rda添加到R/包文件夹中。但是,虽然程序包“需要”数据表,但我也希望我的数据对用户可见,因此它们可以纠正错误,并可能通过pull请求添加其他数据文件以扩展程序包的功能。此外,由于我正在处理多个文件,目前并非所有文件都可用,每次更改时都将所有内容重新分配到R/sysdata.rda似乎不方便。

另一种方法是使查找表和查询默认外部数据,使用默认internal = FALSE标记添加devtools::use_data(x, mtcars),将mtcars.rda添加到data/包文件夹。优点是这些数据对于用户来说是清晰可见的,但缺点是我不知道如何从包函数中访问它而不会在运行devtools::check()object 'querydefaults' not found时出错。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以将数据集添加为外部数据集和内部数据集,并使用devtools::check()解决了该问题。以the RIC package为例。