3

我正在开发一个 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 错误(expr,envir,enclos):找不到函数“mclustBIC”调用:filterGeneExpr -> get.enr.bg.normfit -> -> eval -> eval

有什么策略可以解决这个问题吗?我也可以完全依赖包 mclust,但是这个功能是可选的,因此只使用 require 选项才有意义。

4

0 回答 0