Упоминание Иньяки Окара о теге @rawNamespace
привело меня к разработке версии, которая не импортирует ни одну из экспортируемых функций пакета B, с использованием функции getNamespaceExports
, упомянутой в этого ответа :
#' @rawNamespace import(packageB, except = getNamespaceExports("packageB"))
Тег @rawNamespace
в roxygen2
вставляет необработанный код в файл NAMESPACE. getNamespaceExports
возвращает имена всех экспортируемых функций в пространстве имен: это может быть пакет, который вы не прикрепили.
Для моего конкретного примера c я могу написать следующее:
#' @import simmer
#' @rawNamespace import(simmer.plot, except = getNamespaceExports("simmer.plot"))
, который помещает эти строки в NAMESPACE:
import(simmer)
import(simmer.plot, except = getNamespaceExports("simmer.plot"))