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

Зависимости R-пакета

Я пытаюсь создать R-пакет, но кажется, что есть некоторые проблемы с зависимостями пакета. Если я запустил код в R, мне нужны пакеты "rgdal" и "rgeos", поэтому для создания пакета из него я:

  • Добавлена ​​строка "import (rgdal, rgeos)" в файл NAMESPACE
  • Добавлена ​​строка "Зависит: rgeos, rgdal" к файлу DESCRIPTION

Когда я запускаю проверку R CMD (после сборки), я получил сообщение об ошибке:

* checking package dependencies ... ERROR
Benötigte, aber nicht verfügbare Pakete:
  'rgeos' 'rgdal'

See the information on DESCRIPTION files in the chapter 'Creating R
packages' of the 'Writing R Extensions' manual.

Немедленная часть ошибки: "Benötigte, aber nicht verfügbare Pakete:" = "Необходимые, но недоступные пакеты".

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

Что я делаю неправильно?

4b9b3361

Ответ 1

R думает, что у вас нет пакетов в вашей системе.

Теперь вы, конечно, знаете, что делаете. В чем разница?

Ну, вы, вероятно, их установили в другой каталог, на который не смотрит R CMD check. Один из способов исправить это описан в разделе 7, озаглавленном "Инструменты" руководства "R Internals" (см. "Написание R-расширений" ) и использует файл ~/.R/checkEnviron для установки переменных среды, которые будут использоваться во время R CMD check.

Например, у меня есть

# edd Apr 2003  Allow local install in /usr/local, also add a directory for
#               Debian packaged CRAN packages, and finally the default dir 
# edd Jul 2007  Now use R_LIBS_SITE, not R_LIBS
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:'
                          '/usr/lib/R/site-library:/usr/lib/R/library'}

где я просто сломал одну длинную линию (в середине не было двух апострофов).