R package dev:我应该在内部还是外部制作数据文件?

R package dev: should I make data files internal or external?

(再次尝试这个问题以使其更清楚。)

我正在尝试编写一个程序包,以便更轻松地从 Web 访问数据 API,并决定是将查找表和查询默认设置为内部数据还是外部数据,如 [=20] 中所述=] 个 R 包

据我了解,每个都有缺点。内部数据是指仅由包使用的数据,对用户不可见。它使用 devtools::use_data(x, mtcars, internal = TRUE) 添加到包中,这会将 sysdata.rda 添加到 R/ 包文件夹中。然而,虽然包 "needs" 数据表,但我也希望我的数据对用户可见,这样他们就可以纠正错误,也许可以通过 pull request 添加额外的数据文件来扩展包的功能。此外,由于我正在处理多个文件,目前并非所有文件都可用,因此每次有更改时都将所有内容重新捆绑到 R/sysdata.rda 中似乎很不方便。

另一种方法是使查找表和查询默认为外部数据,添加了默认的 internal = FALSE 标志:devtools::use_data(x, mtcars),将 mtcars.rda 添加到 data/ 包文件夹。优点是用户可以清楚地看到这些数据,但缺点是我不知道如何从包函数中访问它而不会在 运行 devtools::check() 时出现错误:object 'querydefaults' not found。执行此操作的正确方法是什么?

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