В том числе блестящий BBS в упаковке

Когда я собираю, загружаю и запускаю свой собственный пакет, он использует функциональные возможности sparkleBBS, только если я предварительно загружаю программу глянцевый BBS с "библиотекой (inyBSBS)", в противном случае всплывающие подсказки не работают… и хотя приложение "Блестящий" работает (без функций BBS), есть веб-страница ошибки, которые можно увидеть через консоль браузера.. (о некоторых отсутствующих файлах.. shinyBS.css и ceramicBS.js)

Итак, вопросы таковы: как я могу сгенерировать, развернуть и запустить свой собственный блестящий пакет, не вынуждая пользователя предварительно загружать блестящий пакет BSBS (выполняя "библиотеку (глянцевый BS))"?!

Спасибо!

2 ответа

Обычный способ добавления зависимостей в пакет R состоит в добавлении пакетов в Imports Поле DESCRIPTION файл. Вот адаптированная версия от введения Хэдли Викам.

Package: mypackage
Title: What The Package Does (one line, title case required)
Version: 0.1
Authors@R: person("First", "Last", email = "first.last@example.com",
                  role = c("aut", "cre"))
Description: What the package does (one paragraph)
Depends: R (>= 3.1.0), shiny
Imports: shinyBS
License: What license is it under?
LazyData: true

Затем вам нужно будет указать, какие функции из shinyBS пакет действительно необходим в пакете с importsFrom в NAMESPACE файл. Кроме того, вы также можете импортировать все shinyBS функции с

import(shinyBS)

Тем не менее, в случае shinyBSвам на самом деле нужно поставить зависимость в Depends поле из-за того, как onLoad/onAttach крючки определены для этого пакета. Для более подробной информации см. Здесь. Ваш DESCRIPTION поэтому файл должен выглядеть следующим образом

Package: mypackage
Title: What The Package Does (one line, title case required)
Version: 0.1
Authors@R: person("First", "Last", email = "first.last@example.com",
                  role = c("aut", "cre"))
Description: What the package does (one paragraph)
Depends: R (>= 3.1.0), shiny, shinyBS
License: What license is it under?
LazyData: true

Это довольно необычно, и, на мой взгляд, эта проблема должна быть решена с shinyBS Разработчики. Тем не менее, в то же время, используя Depends поле, чтобы убедиться shinyBS прилагаемый является подходящим решением для описанной вами проблемы.

Вы должны использовать NAMESPACE заявить, что вам нужно shinyBS загружен в ваш пакет.

Например, в вашем NAMESPACE файл, который вы должны сделать:

import(shinyBS)

Кроме того, как заметил @ r2evans, вы должны добавить shinyBS в Imports часть вашего DESCRIPTION файл:

Imports: shinyBS

Для получения дополнительной информации посетите веб-сайт пакета R от Hadley Wickam: http://r-pkgs.had.co.nz/namespace.html.

Другие вопросы по тегам