Предпочтительный подход к тому, чтобы пакет 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.

Другие вопросы по тегам