Ответ 1
Если вы используете import
или importFrom
в файле NAMESPACE, у вас должна быть запись для этого пакета в разделе "Импортирование" вашего файла DESCRIPTION (если нет причин, по которым вам нужно использовать Depends, в этом случае пакет должен иметь запись в разделе "Зависимости", а не "Импорт" ).
Вот соответствующий раздел Написание R-расширений
В поле "Импорт" перечислены пакеты, пространства имён которых импортированы (как указано в файле NAMESPACE), но которые не нужно прикреплять. Пространства имен, к которым обращаются операторы ':: и':, должны быть перечислены здесь или в "Предложениях" или "Усилениях" (см. Ниже). В идеале это поле будет включать все стандартные пакеты, которые используются, и важно включать S4-пакеты (поскольку их определения классов могут меняться, а файл DESCRIPTION используется для определения того, какие пакеты переустанавливать, когда это произойдет). Пакеты, объявленные в поле "Зависимости", также не должны находиться в поле "Импорт" .
Я сделал пакет с одной функцией f
. Я создал файл NAMESPACE с той же строкой importFrom
, которую вы сказали, что у вас есть.
Файл NAMESPACE
export("f")
importFrom("ggplot2","ggplot","geom_histogram")
В этот момент, если я запустил R CMD check
, как и ожидалось, я получаю сообщение об ошибке:
Зависимость пространства имен не требуется: 'ggplot2
Но если я добавлю Imports: ggplot2
в ОПИСАНИЕ, чтобы мой файл DESCRIPTION был следующим, он без проблем пропускает R CMD check
.
ОПИСАНИЕ
Package: anRpackage
Type: Package
Title: What the package does (short line)
Version: 1.0
Date: 2012-11-07
Author: Me
Maintainer: Who to complain to <[email protected]>
Description: More about what it does (maybe more than one line)
License: GPL
Imports: ggplot2