使 `{targets}` R 包从我自己开发的 R 数据包中检测函数和导出数据集变化的首选方法

Preferred approach for making the `{targets}` R package detect changes to functions and exported datasets from my own developed R data package

我是 {targets} 包的初学者,我想知道在 R 数据包中将依赖项注册到我自己开发的函数(和数据集)的正确设置是什么。

我的想法是使用 {targets} 为我的这个假设的 R 数据包开发生成几个导出数据集和磁盘文件的有点复杂的工作流程:{MyRDataPackage}。我希望那些生成这些 datasets/files 到 data-raw/ 的函数是从包本身导出的函数,即我宁愿不在 [=17] 中获取它们(如 source("R/functions.R")) =].

通过阅读 Chapter 6.3 Dependencies ,我觉得我可以采用这种方法:

# _targets.R
tar_option_set(envir = getNamespace("MyRDataPackage"))

但进一步阅读,即在 Chapter 6.5 Packages-based invalidation 中,似乎我也可以将我的 {MyRDataPackage} 传递给 imports 参数:

# _targets.R
tar_option_set(
  packages = c("MyRDataPackage"),
  imports = c("MyRDataPackage")
)

所以我的问题是:这两种方法都可以吗?或者,是否有理由偏爱其中之一?

第 6.5 节中的指南是当前的建议。 6.3 已过时,但刚刚在 https://github.com/ropensci-books/targets/commit/a9661e642beb174383222af16c1a599ae10a4735. Also answered at https://github.com/ropensci/targets/discussions/586\#discussioncomment-1140345.

中更新