Разработка пакета R: тест, который не проходит из-за не проверенной подфункции в пакете Mclust
Я разрабатываю пакет R и тестирую, что библиотека применяется для проверки. Ошибка возникает при загрузке функции из внешнего пакета Mclust ( https://cran.r-project.org/web/packages/mclust/index.html), который включает в себя анонимную функцию внутри. Эта функция не распознается с помощью requireNamespace (). Вот пример кода:
get.enr.bg.normfit <- function(x) {
result <- c(NA, NA)
if (requireNamespace("mclust")) {
names(result) <- c("mean","sd")
# fit two normal distributions to data
# model <- Mclust(na.omit(x), G=2, modelNames="V")
model <- mclust::Mclust(na.omit(x), G=2)
...
Тест выполняется, но не может найти дополнительную функцию mclust внутри:
Ошибка: отсутствует знак типа транскрипта (@test-expr-filter.R#53) --------------- не удалось найти функцию "mclustBIC
Проблема в том, что Mclust вызывает mclustBIC из анонимной функции внутри. Та же проблема возникает при запуске полной проверки пакетов в RStudio.
Загрузка необходимого пространства имен: mclust Ошибка в eval(expr, envir, enclos): не удалось найти функцию "mclustBIC" Вызовы: filterGeneExpr -> get.enr.bg.normfit -> -> eval -> eval
Есть ли стратегия, чтобы это исправить? Я также могу полностью зависеть от пакета mclust, но эта функция является необязательной, поэтому имеет смысл использовать только параметр require.