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

Зависимости пространства имен не требуются

Я пытаюсь создать пакет R, поэтому читаю руководство по CRAN. Я мог бы понять, что использование импорта для загрузки функций в вашем пространстве имен будет лучшим выбором для использования в файле описания. После добавления в файл описания я также добавил его в файл пространства имен. Я добавил importFrom в файл пространства имен с требуемыми функциями.

Теперь, когда я запускаю проверку R CMD на моем пакете, Я получаю ОШИБКУ как

Зависимости пространства имен не требуются: 'Ggplot2'

Дополнительная информация: даже если я добавлю пакет в Depends в файл описания, они не загружаются.

Пожалуйста, помогите с этим.

Пожалуйста, найдите мой файл описания ниже

Package: bigpackage
Type: Package
Title: Some title
Version: 1.0
Date: 2012-10-25
Author: Mayank Bansal
Maintainer: somename
Imports : R(>= 2.15.1), SweaveListingUtils( >=0.5.5),xtable(>=1.7-0),
        brew(>=1.0-6), knitr(>=0.8), RHive(>= 0.0-6), ggplot2(>=0.9.2)
        , brew, knitr
SystemRequirements : LaTeX(texi2dvi) must be present in the system to
        create PDF reports
Description: Some Description
License: file LICENSE
LazyLoad: yes
ByteCompile: true
OS_type : unix
4b9b3361

Ответ 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

Ответ 2

Простая причина, по которой это может произойти, заключается в том, что вы случайно использовали запятые при объявлении @import в любой/всех ваших функциях

Например. это

#'
#' @import rvest, dplyr, stringr, jsonlite
#'
#' @export
#'

изменится на это

#'
#' @import rvest dplyr stringr jsonlite
#'
#' @export
#'

Это распространенная ошибка, так как пакеты разделяются запятыми в файле DESCRIPTION