Я создаю пакет R и хотел бы организовать подкаталог R с подкаталогами. Так как только функция, определенная в файлах R в корневом каталоге экспортируются, я добавил этот код в один файл в корневом каталоге:Подкаталог в пакете R
sourceDir <- function(path, trace = TRUE, ...) {
for (nm in list.files(path, pattern = "\\.[RrSsQq]$")) {
print(nm)
if(trace) cat(nm,":")
source(file.path(path, nm), ...)
if(trace) cat("\n")
}
}
sourceDir("R/DataGenerator")
Когда я использую «CRTL + SHIFT + B» на RStudio, я вижу, что файлы nm. Но как только пакет загружен, ни одна из функций, определенных в подкаталоге R/DataGenerator, не доступна, не используя :: или не используя :::.
Как я могу экспортировать функции, определенные в подкаталогах R? Возможно ли это?
Отсутствие надлежащей поддержки для иерархии вложенных пакетов была одной из причин, побудивших меня написать ** <[modules] (https://github.com/klmr/modules)> **, которая реализует превосходную Python-подобную систему пакетов/модулей для Р. Вы можете захотеть сделать снимок. –