Если ваш файл содержит только те строки, которые вы предоставили, он игнорируется roxygen2. Вы должны добавить строку после кода roxygen, который содержит только NULL
. Таким образом, следующее должно работать:
#' @import reshape2 ggplot2 DESeq2 geneplotter
#' @import survcomp gplots pheatmap RColorBrewer
NULL
Я также уменьшил количество строк, чтобы показать вам, как несколько пакетов могут быть импортированы с одним использованием @import
. Но для roxygen это не имеет значения, на сколько строк вы распространяете пакеты.
Я думаю, причина в том, что разделы roxygen должны быть связаны с некоторым R-объектом. Например, документация функции связана с соответствующим функциональным объектом. Поскольку вы не хотите иметь импорт, связанный с функцией, вы можете связать их с NULL
, который также является объектом R.
Как следует из hadley, не рекомендуется полностью импортировать эти пакеты, потому что вы можете столкнуться с конфликтами имен. Следующие две альтернативы, как правило, лучше:
Reference функция их явного имени пакета и ::
оператор: reshape2::melt()
Это имеет дополнительное преимущество, что вы сразу видите, из которого пакет приходит функция.
Импорт только те функции, которые вам нужно из пакета с помощью @importFrom
:
#' @importFrom reshape2 melt cast
Вы можете найти более подробную информацию here.
иногда он помогает удалить файл «NAMESPACE», чтобы снова заново создать файл. – drmariod
@drmariod не помогло. пакеты по-прежнему не отображаются в NAMESPACE – Tonja