R软件包开发:由于Mclust软件包中未验证的子功能,测试失败

时间:2017-11-06 16:35:30

标签: r testthat mclust

我正在开发一个R包, testthat 库用于验证。从外部包含匿名函数的外部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功能:

错误:transcritpt类型缺少标记(@ test-expr-filter.R#53)--------------- 找不到功能&#34; mclustBIC

Mclust从匿名函数里面调用mclustBIC的问题。在RStudio中运行完整包检查时会出现同样的问题。

加载必需的命名空间:mclust eval中的错误(expr,envir,enclos):找不到函数&#34; mclustBIC&#34; 电话:filterGeneExpr - &gt; get.enr.bg.normfit - &gt; - &GT; eval - &gt; EVAL

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

0 个答案:

没有答案