Пакет R: поиск сценариев из папки при загрузке пакета - PullRequest
0 голосов
/ 02 мая 2019

Моя идея проста, у меня есть пакет-обертка, который готов загрузить и выполнить сценарии R и Python (через reticulate).

Несмотря на требование общей структуры файла / кода, идея состоит в том, что если пользователь хочет определить новый метод для рабочего процесса (скажем, обновленную таксономию), то будет достаточно добавить новый сценарий в папку сценариев. (т.е. поместите файлы в rules/, py/... и перестройте).

Как правильно сделать эту работу?

Я пытался загрузить файлы через .onLoad, т.е.

.onLoad <- function(lib, pkg){
  require(reticulate) #I know require is bad practice; this is for example purposes
  files <- dir('rules')
  lapply(files, function(w){
     source(sprintf('rules/%s', w))
     source_python(sprintf("py/%s/rule.py", w))
  })
}

Но, похоже, это касается локальных каталогов, а не внутри пакета.

Я обнаружил, что R может загружать .rda или .RData файлы из каталога data/ или .txt, .csv, но это все. Как насчет расширений, таких как поиск файлов, как в моем примере?

Любая помощь будет оценена!

1 Ответ

0 голосов
/ 02 мая 2019

Папка inst/exdata позволяет добавлять любые данные в пакет R. Это может быть подходящее место для хранения файлов .R или .py, не связанных напрямую с основным кодом вашего пакета. Вы можете получить доступ к этим файлам с помощью system.file("extdata", "file.ext", package="pkg"). См. Также extdata в пакетах R .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...