Предпочтительный подход к тому, чтобы пакет R `{target}` обнаруживал изменения в функциях и экспортированных наборах данных из моего собственного пакета данных R
Я новичок в этом пакете, и мне было интересно, как правильно регистрировать зависимости для функций (и наборов данных), разработанных мной в пакете данных R.
Моя идея - использовать
{targets}
чтобы разработать несколько сложный рабочий процесс создания нескольких экспортированных наборов данных и файлов на диске для этого моего гипотетического пакета данных R:
{MyRDataPackage}
. И я бы хотел, чтобы те функции, которые генерируют эти наборы данных / файлы,
data-raw/
быть экспортированными функциями из самого пакета, то есть я бы предпочел не использовать их исходный код (как в
source("R/functions.R")
) в
_targets.R
.
Прочитав главу 6.3 «Зависимости» , я почувствовал, что могу применить такой подход:
# _targets.R
tar_option_set(envir = getNamespace("MyRDataPackage"))
но, читая немного дальше, а именно в главе 6.5 Аннулирование на основе пакетов , кажется, что я мог бы также передать свой
{MyRDataPackage
} в
imports
аргумент:
# _targets.R
tar_option_set(
packages = c("MyRDataPackage"),
imports = c("MyRDataPackage")
)
Итак, мой вопрос: подходит ли любой из этих подходов? Или есть причины предпочесть одно другому?
1 ответ
Руководство в Разделе 6.5 - это текущая рекомендация. 6.3 устарела, но была недавно обновлена на https://github.com/ropensci-books/targets/commit/a9661e642beb174383222af16c1a599ae10a4735 . Также ответил на https://github.com/ropensci/targets/discussions/586\#discussioncomment-1140345.