Я являюсь автором пакета R, который реализует загрузчики файлов и отправляет файлы примеров, которые используются в модульных тестах и в примерах, например, если вы запускаете example(func_from_mypackage)
в GNU R.
Я былсотрудники CRAN попросили «загрузить данные пакета по требованию» и разместить их на каком-либо внешнем сервере, поскольку они превышают ограничение размера пакета в 5 МБ.Есть ли стандартный способ сделать это?
Моя идея на данный момент: я мог бы создать функцию dl_data_if_not_available()
и вызывать ее как первое, что есть в каждом примере.Но куда мне загрузить данные?Например, было бы приемлемо загрузить что-то вроде $HOME/.mypackage/data/
?
Я бы предпочел, чтобы к данным можно было обращаться, как к данным пакета, например:
some_file = system.file("extdata", "some_file.dta", package = "mypackage", mustWork = TRUE);
Но есть ли способ загрузить в это место (данные пакета)dir моей посылки)?
РЕДАКТИРОВАТЬ: Чтобы было ясно: я не хочу, чтобы пользователь каждый раз загружал данные во временное местоположение.Я хочу, чтобы данные были загружены один раз, а затем сохранены.Данные часто нужны, и они не меняются.
ОБНОВЛЕНИЕ: Я нашел пакет BiocFileCache для BioConductor, и он, кажется, делает то, что мне нужно - но для биокондуктора, а не для CRAN.Я не нашел что-то подобное для CRAN еще.Может быть, я просто удалю свою посылку в CRAN и перейду в bioconductor, или оставлю обе и попросу людей devtools::install_github()
вместо моей посылки.