Я создаю пакет R, который будет использовать одну функцию от plyr
. По this roxygen2 vignette:R с roxygen2: Как использовать одну функцию из другого пакета?
Если вы используете только несколько функций из другого пакета, то рекомендуется опция отметить имя пакета в импорте: поле файла ОПИСАНИЕ и вызовите функцию() в явном виде используя ::, например, pkg :: fun().
Звучит хорошо. Я использую plyr::ldply()
- полный звонок с ::
- поэтому я перечисляю plyr
в Imports:
в моем DESCRIPTION
файле. Однако, когда я использую devtools::check()
я получаю это:
* checking dependencies in R code ... NOTE
All declared Imports should be used:
‘plyr’
All declared Imports should be used.
Почему я получаю это примечание?
Я могу избежать записку, добавив @importFrom dplyr ldply
в файл, который использует plyr
, но потом я заканчиваю, но имея ldply
в моем пакете имен. Который я не хочу, и не должен нуждаться, поскольку я использую plyr::ldply()
единственный раз, когда я использую эту функцию.
Любые указатели будут оценены!
(This question может быть уместным.)
Является ли 'roxygen2' переписыванием файла' NAMESPACE'? Я считаю, что вам нужно иметь '@import dplyr', чтобы убедиться, что он добавлен автоматически. – cdeterman
Спасибо, что ответили. 'roxygen2' действительно обновляет файл' NAMESPACE'. Я не хочу использовать '@import dplyr', потому что это импортирует все пространство имен dplyr. В соответствии с виньеткой «roxygen2» и другим вопросом, на который я ссылался, мне также не нужно импортировать его. – L42