Установите некоторые части из Github при вызове install.packages() в R

Я хотел бы поместить пакет в CRAN. Однако в настоящее время пакет использует внешнюю модель C (стандартная модель ISDA), которая создается по общедоступной распространяемой лицензии. Однако администратор CRAN отказывается помещать пакет в CRAN, если он содержит эту модель C. Так можно ли в любом случае поместить пакет в CRAN без этой модели C, и при вызове install.packages("my.package") он может автоматически загрузить модель C с github.com/my_github?

На данный момент я написал следующий код в zzz.R:

.onLoad <- function(libname, pkgname) {
    if ( ! "Github_pkg" %in% (all.available = TRUE)){
        devtools::install_github("myGithub/Github_pkg")
    }
} 

Это нормально, если я отправлю в CRAN? Или мне следует использовать пакет drat от Дирка? Спасибо!!


person Miller Zhu    schedule 03.06.2015    source источник


Ответы (1)


Вы можете просмотреть мой пакет drat, чтобы создать собственный репозиторий на GitHub. Я использую его, например, для размещения пакета Rblpapi, в котором я участвую (и который опирается на библиотека Bloomberg) в этот репозиторий ghrr, созданный с использованием drat.

Это все работает. CRAN даже принял пакет, который использовал репозиторий ghrr drat в качестве внешнего репозитория (но поскольку этот пакет был удален по другой причине).

Вам по-прежнему необходимо организовать свой «основной» пакет в CRAN таким образом, чтобы «вторичный» пакет был только «Предлагает:», поскольку фактические зависимости также должны быть в CRAN. Но, по крайней мере, это дает вам возможность автоматизировать эти процессы.

person Dirk Eddelbuettel    schedule 03.06.2015
comment
Я отправлю в CRAN эти две недели, и у меня есть вопрос. На данный момент я не использовал drat, а написал следующий код в zzz.R: .onLoad <- function(libname, pkgname) if ( ! "Github_pkg" %in% (all.available = TRUE)){devtools::install_github("myGithub/Github_pkg")}. Как вы думаете, это нормально, если я отправлюсь в CRAN? И если drat предпочтительнее, не могли бы вы дать мне немного больше рекомендаций о том, как вставить мой Github_pkg с помощью drat? Большое спасибо!! - person Miller Zhu; 05.08.2015