Подтвердить что ты не робот

Может ли roxygen2 автоматически записывать директивы NAMESPACE для пакетов "Импорт:"?

tl; dr версия моего вопроса

Если я хочу импортировать пакеты, нужно ли вручную записывать директивы import() в файл NAMESPACE? Кажется, что roxygen2 не будет волшебным образом делать это для меня, даже если я их перечисляю как "Импорт:" в моем описании.

Полная версия

Это довольно глупый вопрос, но я спрашиваю, потому что ответ не очевиден для меня.

Я использую roxygen2 для обработки моего пакета R. Когда я хочу убедиться, что функция экспортирована, я добавляю тег @export в свой блок roxygen. Последующие прогоны roxygenize() будут соответствующим образом записывать директиву NAMESPACE.

Но мой пакет в настоящее время импортирует несколько других:

Depends:
    R (>= 2.13.0),
    ggplot2 (>= 0.8.9)
Imports:
    RColorBrewer,
    plyr,
    gridExtra

Похоже, что в то время как roxygen2 будет переписывать директиву NAMESPACE для экспортируемых функций, он не будет автоматически переписывать NAMESPACE, чтобы отражать пакеты, которые я обозначил, должен быть импортирован в моем DESCRIPTION.

4b9b3361

Ответ 1

Развернув мой комментарий, если вы хотите автоматически добавить директивы namespace для пакетов/функций, которые вы import, вы можете сделать это, добавив строку @imports package или @importFrom package function в заголовок документации roxygen2 ваша функция.

Однако, как заметил @hadley, он изменит только namespace, но не повлияет на пакет DESCRIPTION