Хобрук: Ваш путь к мастерству в программировании

Импорт пакетов не загружается в пакет разработки R

Я создаю пакет в R в среде Windows, используя Rstudio, devtools roxygen2 и Rtools.

Пакет не показывает проблем в R CMD CHECK. Однако, когда я пытаюсь загрузить пакет с помощью library("mypkg"), пакеты, указанные в Imports в DESCRIPTION, не загружаются (сообщение Loading required package: отсутствует). При использовании pkgDepends("mypkg") $Depends отображается как character(0).

Я должен загрузить необходимые пакеты, используя library() для работы mypkg.

Я использую импорт пространства имен вместо синтаксиса package::function(). Все необходимые пакеты есть в NAMESPACE as imports().

Почему это происходит? Как это решить?


Ответы:


1

Это правильное поведение. Imports просто означает, что код внутри вашего пакета может видеть функции, которые вы импортируете из других пакетов. Другие пакеты не размещаются на пути search, как в случае с Depends.

Дополнительная литература:
Лучшее объяснение того, когда использовать Imports/Depends< /а>

31.12.2014
  • Вот что я понял. Но для пакета также загружаются пакеты Imports. Например, в случае пакета stringdist дается parallel под Imports. Но когда мы загружаем его на library("stringdist"), появляется сообщение Loading required package: parallel и также загружается parallel. 31.12.2014
  • Я не получаю это сообщение с stringdist 0.8.2/R 3.1.2/Win7 and Red Hat'. What version of stringdist`/R/OS, которую вы используете? Вы уверены, что сообщение не появилось после выполнения другой команды? 31.12.2014
  • stringdist 0.8.0/R 3.0.2/Win7. Я перезапустил R, попробовал. Все еще получаю то же сообщение. 31.12.2014
  • Понятно.. Для stringdist 0.8.0 parallel находится в Depends. Поэтому я думаю, что мне следует использовать Depends вместо Imports. 31.12.2014
  • Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..