使 `{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.
中更新
我是 {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.
中更新