Back to Multiple platform build/check report for BioC 3.11
ABCDEF[G]HIJKLMNOPQRSTUVWXYZ

CHECK report for geecc on tokay2

This page was generated on 2020-10-17 11:56:38 -0400 (Sat, 17 Oct 2020).

TO THE DEVELOPERS/MAINTAINERS OF THE geecc PACKAGE: Please make sure to use the following settings in order to reproduce any error or warning you see on this page.
Package 668/1905HostnameOS / ArchINSTALLBUILDCHECKBUILD BIN
geecc 1.22.0
Markus Boenn
Snapshot Date: 2020-10-16 14:40:19 -0400 (Fri, 16 Oct 2020)
URL: https://git.bioconductor.org/packages/geecc
Branch: RELEASE_3_11
Last Commit: df8fea0
Last Changed Date: 2020-04-27 14:43:04 -0400 (Mon, 27 Apr 2020)
malbec2 Linux (Ubuntu 18.04.4 LTS) / x86_64  OK  OK  ERROR 
tokay2 Windows Server 2012 R2 Standard / x64  OK  OK [ ERROR ] OK 
machv2 macOS 10.14.6 Mojave / x86_64  OK  OK  ERROR  OK 

Summary

Package: geecc
Version: 1.22.0
Command: C:\Users\biocbuild\bbs-3.11-bioc\R\bin\R.exe CMD check --force-multiarch --install=check:geecc.install-out.txt --library=C:\Users\biocbuild\bbs-3.11-bioc\R\library --no-vignettes --timings geecc_1.22.0.tar.gz
StartedAt: 2020-10-17 04:15:50 -0400 (Sat, 17 Oct 2020)
EndedAt: 2020-10-17 04:18:12 -0400 (Sat, 17 Oct 2020)
EllapsedTime: 141.9 seconds
RetCode: 1
Status:  ERROR  
CheckDir: geecc.Rcheck
Warnings: NA

Command output

##############################################################################
##############################################################################
###
### Running command:
###
###   C:\Users\biocbuild\bbs-3.11-bioc\R\bin\R.exe CMD check --force-multiarch --install=check:geecc.install-out.txt --library=C:\Users\biocbuild\bbs-3.11-bioc\R\library --no-vignettes --timings geecc_1.22.0.tar.gz
###
##############################################################################
##############################################################################


* using log directory 'C:/Users/biocbuild/bbs-3.11-bioc/meat/geecc.Rcheck'
* using R version 4.0.3 (2020-10-10)
* using platform: x86_64-w64-mingw32 (64-bit)
* using session charset: ISO8859-1
* using option '--no-vignettes'
* checking for file 'geecc/DESCRIPTION' ... OK
* checking extension type ... Package
* this is package 'geecc' version '1.22.0'
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking whether package 'geecc' can be installed ... WARNING
Found the following significant warnings:
  Warning: Package 'geecc' is deprecated and will be removed from Bioconductor
See 'C:/Users/biocbuild/bbs-3.11-bioc/meat/geecc.Rcheck/00install.out' for details.
* checking installed package size ... OK
* checking package directory ... OK
* checking 'build' directory ... OK
* checking DESCRIPTION meta-information ... OK
* checking top-level files ... OK
* checking for left-over files ... OK
* checking index information ... OK
* checking package subdirectories ... OK
* checking R files for non-ASCII characters ... OK
* checking R files for syntax errors ... OK
* loading checks for arch 'i386'
** checking whether the package can be loaded ... OK
** checking whether the package can be loaded with stated dependencies ... OK
** checking whether the package can be unloaded cleanly ... OK
** checking whether the namespace can be loaded with stated dependencies ... OK
** checking whether the namespace can be unloaded cleanly ... OK
* loading checks for arch 'x64'
** checking whether the package can be loaded ... OK
** checking whether the package can be loaded with stated dependencies ... OK
** checking whether the package can be unloaded cleanly ... OK
** checking whether the namespace can be loaded with stated dependencies ... OK
** checking whether the namespace can be unloaded cleanly ... OK
* checking dependencies in R code ... OK
* checking S3 generic/method consistency ... OK
* checking replacement functions ... OK
* checking foreign function calls ... OK
* checking R code for possible problems ... OK
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... OK
* checking for missing documentation entries ... OK
* checking for code/documentation mismatches ... OK
* checking Rd \usage sections ... OK
* checking Rd contents ... OK
* checking for unstated dependencies in examples ... OK
* checking contents of 'data' directory ... OK
* checking data for non-ASCII characters ... OK
* checking data for ASCII and uncompressed saves ... OK
* checking line endings in C/C++/Fortran sources/headers ... OK
* checking compiled code ... NOTE
Note: information on .o files for i386 is not available
Note: information on .o files for x64 is not available
File 'C:/Users/biocbuild/bbs-3.11-bioc/R/library/geecc/libs/i386/geecc.dll':
  Found 'abort', possibly from 'abort' (C), 'runtime' (Fortran)
  Found 'exit', possibly from 'exit' (C), 'stop' (Fortran)
  Found 'printf', possibly from 'printf' (C)
File 'C:/Users/biocbuild/bbs-3.11-bioc/R/library/geecc/libs/x64/geecc.dll':
  Found 'abort', possibly from 'abort' (C), 'runtime' (Fortran)
  Found 'exit', possibly from 'exit' (C), 'stop' (Fortran)
  Found 'printf', possibly from 'printf' (C)

Compiled code should not call entry points which might terminate R nor
write to stdout/stderr instead of to the console, nor use Fortran I/O
nor system RNGs. The detected symbols are linked into the code but
might come from libraries and not actually be called.

See 'Writing portable packages' in the 'Writing R Extensions' manual.
* checking files in 'vignettes' ... OK
* checking examples ...
** running examples for arch 'i386' ... ERROR
Running examples in 'geecc-Ex.R' failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: geecc-package
> ### Title: Gene set enrichment for two or three categories
> ### Aliases: geecc-package geecc
> ### Keywords: package
> 
> ### ** Examples
> 
> ##
> ## a completely artificial example run
> ## through the routines of the package
> ##
> R <- 500
> #generate R random gene-ids
> ID <- sapply(1:R, function(r){paste( sample(LETTERS, 10), collapse="" ) } )
> ID <- unique(ID)
> 
> #assign artificial differentially expressed genes randomly
> category1 <- list( deg.smallFC=sample(ID, 100, rep=FALSE),
+ 	deg.hughFC=sample(ID, 100, rep=FALSE) )
> #assign artificial GO terms of genes randomly
> category2 <- list( go1=sample(ID, 50, replace=FALSE),
+ 	go2=sample(ID, 166, replace=FALSE),
+ 	go3=sample(ID, 74, replace=FALSE),
+ 	go4=sample(ID, 68, replace=FALSE) )
> #assign artificial sequence length of genes randomly
> LEN <- setNames(sample(seq(100, 1000, 100), length(ID), replace=TRUE), ID)
> category3 <- split( ID, f=factor(LEN, levels=seq(100, 1000, 100)) )
> CatList <- list(deg=category1, go=category2, len=category3)
> 
> ConCubFilter.obj <- new("concubfilter", names=names(CatList))
> ConCub.obj <- new("concub", categories=CatList)
Changed order of categories: deg,len,go
> ConCub.obj.2 <- runConCub( obj=ConCub.obj, filter=ConCubFilter.obj, nthreads=1 )
 ----------- FAILURE REPORT -------------- 
 --- failure: length > 1 in coercion to logical ---
 --- srcref --- 
: 
 --- package (from environment) --- 
geecc
 --- call from context --- 
runConCub(obj = ConCub.obj, filter = ConCubFilter.obj, nthreads = 1)
 --- call from argument --- 
(length(nms_categories) != length(filter@names)) || (intersect(nms_categories, 
    filter@names) != nms_categories)
 --- R stacktrace ---
where 1: runConCub(obj = ConCub.obj, filter = ConCubFilter.obj, nthreads = 1)

 --- value of length: 3 type: logical ---
[1] FALSE FALSE FALSE
 --- function from context --- 
function (obj, filter, nthreads = 2, subset = NULL, verbose = list(output.step = 0, 
    show.cat1 = FALSE, show.cat2 = FALSE, show.cat3 = FALSE)) 
{
    NCATS <- length(obj@categories)
    nms_categories <- names(obj@categories)
    if ((length(nms_categories) != length(filter@names)) || (intersect(nms_categories, 
        filter@names) != nms_categories)) {
        warning("Names from concubfilter-object (", paste0(nms_categories, 
            collapse = ","), ") and concub-object (", paste0(filter@names, 
            collapse = ","), ") do not match.")
        return(obj)
    }
    N <- length(obj@population)
    N_factor <- .getNumberOfFactorLevels(obj)
    items_factor <- .getItemsInEachCategory(obj)
    opt_factor <- .getOptOfCategory(obj)
    rng_factor <- vector("list", NCATS)
    sub_categories <- .getNamesOfEachCategory(obj)
    if (!is.null(subset)) {
        for (nm in names(subset)) {
            sub_categories[[nm]] <- intersect(subset[[nm]], sub_categories[[nm]])
        }
    }
    len_sub_categories <- sapply(sub_categories, length)
    ttt <- .getTypeOf_transformTable(form = obj@null.model, nms = nms_categories)
    do.strat <- FALSE
    if (NCATS == 3) {
        do.strat <- obj@options[[3]][["strat"]]
    }
    frm <- obj@null.model
    if (do.strat == TRUE & ttt[[1]] == "mi") {
        frm <- update(frm, as.formula(paste("~.-", names(obj@categories)[3])))
    }
    message(paste("Testing: counts ~ ", as.character(obj@null.model)[2], 
        " (", ttt[[1]], ")", sep = ""), sep = "")
    if (any(sapply(opt_factor, function(x) {
        return(x$grouping != "none")
    }))) {
        message(paste("Grouping: ", paste(names(opt_factor), 
            ":", sapply(opt_factor, function(x) {
                return(x$grouping)
            }), sep = "", collapse = ", "), sep = ""), sep = "")
    }
    RNG <- setNames(vector("list", NCATS), nms_categories)
    if (sum(sapply(opt_factor, function(x) {
        x[["grouping"]] != "none"
    })) > 1) {
        warning("Grouping-option for multiple categories. Results might be hard to interprete.")
    }
    for (g in nms_categories) {
        opt_grouping <- opt_factor[[g]][["grouping"]]
        opt_width <- opt_factor[[g]][["width"]]
        local_len <- len_sub_categories[g]
        local_rng <- sub_categories[[g]]
        RNG[[g]] <- setNames(vector("list", local_len), local_rng)
        for (g2 in 1:local_len) {
            term <- local_rng[g2]
            term2cum <- term
            if (opt_grouping == "none") {
                term2cum <- term
            }
            if (opt_grouping == "cumf") {
                if (g2 == local_len) {
                  next
                }
                term2cum <- local_rng[1:g2]
            }
            if (opt_grouping == "cumr") {
                if (g2 == 1) {
                  next
                }
                term2cum <- local_rng[g2:local_len]
            }
            if (opt_grouping == "sw") {
                l <- opt_width
                start <- max(c(1, g2 - l))
                stop <- min(c(g2 + l, local_len))
                term2cum <- local_rng[start:stop]
            }
            RNG[[g]][[term]] <- term2cum
        }
        if (opt_grouping == "cumf") {
            sub_categories[[g]] <- sub_categories[[g]][1:(local_len - 
                1)]
        }
        if (opt_grouping == "cumr") {
            sub_categories[[g]] <- sub_categories[[g]][2:local_len]
        }
    }
    Len_term3 <- c()
    if (NCATS == 3 && verbose$show.cat3) {
        L <- length(sub_categories[[3]])
        Len_term3 <- setNames(vector("list", L), sub_categories[[3]])
        for (l in 1:L) {
            x <- ifelse(l == 1, sub_categories[[3]][L], sub_categories[[3]][l - 
                1])
            Len_term3[[l]] <- paste(paste(rep("\b", times = nchar(x)), 
                collapse = ""), "\t", sub_categories[[3]][l], 
                collapse = "", sep = "")
        }
    }
    my_separator <- .my_separator()
    tmp0_nms1 <- c(t(outer(sub_categories[[1]], sub_categories[[2]], 
        paste, sep = my_separator)))
    if (NCATS == 3) {
        tmp0_nms1 <- c(t(outer(tmp0_nms1, sub_categories[[3]], 
            paste, sep = my_separator)))
    }
    tmp1 <- items_factor[[nms_categories[2]]]
    tmp2 <- RNG[[nms_categories[2]]]
    PreCalc__x_1_ <- setNames(vector("list", length(sub_categories[[nms_categories[2]]])), 
        names(sub_categories[[nms_categories[2]]]))
    for (t in as.integer(1:length(sub_categories[[nms_categories[2]]]))) {
        PreCalc__x_1_[[t]] <- unique(.special1(tmp1, tmp2, t))
    }
    PreCalc__x__1 <- PreCalc__x__2 <- list()
    if (NCATS == 3) {
        loc_nm3 <- nms_categories[3]
        tmp1 <- items_factor[[loc_nm3]]
        tmp2 <- RNG[[loc_nm3]]
        PreCalc__x__1 <- setNames(vector("list", length(sub_categories[[loc_nm3]])), 
            names(sub_categories[[loc_nm3]]))
        for (t in as.integer(1:length(sub_categories[[loc_nm3]]))) {
            PreCalc__x__1[[t]] <- unique(.special1(tmp1, tmp2, 
                t))
        }
    }
    ITER <- setNames(vector("list", length(tmp0_nms1)), tmp0_nms1)
    loc_nm1 <- nms_categories[1]
    for (g1 in 1:length(sub_categories[[loc_nm1]])) {
        term1 <- sub_categories[[loc_nm1]][g1]
        if (verbose$show.cat1) {
            cat(term1, sep = "")
        }
        notterm1 <- paste("not_", term1, sep = "")
        x1__ <- unique(unlist(items_factor[[loc_nm1]][RNG[[loc_nm1]][[term1]]], 
            use.names = FALSE))
        x2__ <- setdiffPresort(obj@population, x1__)
        RES_CAT2 <- list()
        loc_nm2 <- nms_categories[2]
        for (g2 in 1:length(sub_categories[[loc_nm2]])) {
            term2 <- sub_categories[[loc_nm2]][g2]
            if (verbose$show.cat2) {
                cat("\r\t", term2, "\t", sep = "")
            }
            x_1_ <- PreCalc__x_1_[[g2]]
            x_2_ <- setdiffPresort(obj@population, PreCalc__x_1_[[g2]])
            x1__Ix_1_ <- intersect(x1__, x_1_)
            x1__Ix_2_ <- intersectPresort(x_2_, x1__)
            x2__Ix_1_ <- intersectPresort(x2__, x_1_)
            x2__Ix_2_ <- setdiffPresort(obj@population, c(x1__Ix_1_, 
                x1__Ix_2_, x2__Ix_1_))
            RES_CAT3 <- list()
            if (NCATS == 2) {
                res <- list()
                subpop <- as.character((x1__Ix_1_))
                len_subpop <- length(subpop)
                CT <- array(c(len_subpop, vapply(list(x2__Ix_1_, 
                  x1__Ix_2_, x2__Ix_2_), length, FUN.VALUE = 123)), 
                  dim = c(2, 2), dimnames = list(factor1 = c(term1, 
                    notterm1), factor2 = c(term2, paste("not_", 
                    term2, sep = ""))))
                names(dimnames(CT)) <- nms_categories
                ExpectedValues <- hypergea::getExpectedValues(CT)
                if (!((skip.zeroobs(filter) && len_subpop == 
                  0) || (skip.min.obs(filter) >= len_subpop) || 
                  all(skip.min.group(filter) - c(length(x1__), 
                    length(x_1_)) > 0))) {
                  res <- .performTest_approx(frm, CT, CT, minExpectedValues = min(ExpectedValues), 
                    approx = obj@approx, nthreads, test.direction(filter))
                }
                res <- c(res, list(subpop = subpop))
                RES_CAT2[[term2]] <- res
            }
            if (NCATS == 3) {
                RES_CAT3 <- list()
                loc_nm3 <- nms_categories[3]
                for (g3 in 1:length(sub_categories[[loc_nm3]])) {
                  res <- list()
                  term3 <- sub_categories[[loc_nm3]][g3]
                  if (verbose$show.cat3) {
                    message(Len_term3[[term3]])
                  }
                  x__1 <- PreCalc__x__1[[g3]]
                  x__2 <- setdiffPresort(obj@population, PreCalc__x__1[[g3]])
                  subpop <- as.character(intersect(x1__Ix_1_, 
                    x__1))
                  len_subpop <- length(subpop)
                  CT <- array(NA, dim = c(2, 2, 2), dimnames = list(factor1 = c(term1, 
                    notterm1), factor2 = c(term2, paste("not_", 
                    term2, sep = "")), factor3 = c(term3, paste("not_", 
                    term3, sep = ""))))
                  names(dimnames(CT)) <- nms_categories
                  res <- list(estimate = 1, p.value = 1, subpop = subpop)
                  if (skip.zeroobs(filter) && len_subpop == 0 || 
                    skip.min.obs(filter) >= len_subpop) {
                    RES_CAT3[[term3]] <- res
                    next
                  }
                  group.len <- sapply(list(x1__, x_1_, x__1), 
                    length)
                  if (any(skip.min.group(filter) >= group.len)) {
                    RES_CAT3[[term3]] <- res
                    next
                  }
                  CT <- .getContingencyCube(CT, x1__Ix_1_, x2__Ix_2_, 
                    x1__Ix_2_, x2__Ix_1_, x__1, x__2)
                  ExpectedValues <- getExpectedValues(CT)
                  if (ttt[[1]] %in% c("mi")) {
                    res <- .performTest_approx(frm, CT, CT, minExpectedValues = min(ExpectedValues), 
                      approx = obj@approx, nthreads = nthreads, 
                      test.direction(filter))
                  }
                  else {
                    if (ttt[[1]] %in% c("sp.1", "sp.2", "sp.3")) {
                      CT_t <- .transformTable(CT, x = ttt)
                      ExpectedValues_t <- getExpectedValues(CT_t)
                      res <- .performTest_approx(frm, CT, CT_t, 
                        minExpectedValues = min(ExpectedValues_t), 
                        approx = obj@approx, nthreads = nthreads, 
                        test.direction(filter))
                    }
                    else {
                      res <- .performTest(frm, CT)
                    }
                  }
                  RES_CAT3[[term3]] <- c(res, list(subpop = subpop))
                }
                tmp_nms3 <- names(RES_CAT3)
                RES_CAT2[paste(term2, tmp_nms3, sep = my_separator)] <- RES_CAT3[tmp_nms3]
            }
            if (verbose[["output.step"]] > 0 && ((g2%%verbose[["output.step"]] == 
                0) || (g2 == length(rng_factor[[2]])))) {
                if (verbose$show.cat2) {
                  cat("\n\tpassed: second category (", nms_categories[2], 
                    "), variable ", term2, " (", g2, ")", sep = "")
                }
                if (verbose$show.cat2) {
                  cat("\n")
                }
            }
        }
        tmp_nms2 <- names(RES_CAT2)
        ITER[paste(term1, tmp_nms2, sep = my_separator)] <- RES_CAT2[tmp_nms2]
        if (verbose$show.cat1) {
            cat("\n")
        }
        if (g1%%10 == 0) {
            gc()
        }
    }
    cat("\n")
    obj@test.result <- ITER
    return(obj)
}
<bytecode: 0x1cbc9608>
<environment: namespace:geecc>
 --- function search by body ---
Function runConCub in namespace geecc has this body.
 ----------- END OF FAILURE REPORT -------------- 
Fatal error: length > 1 in coercion to logical

** running examples for arch 'x64' ... ERROR
Running examples in 'geecc-Ex.R' failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: geecc-package
> ### Title: Gene set enrichment for two or three categories
> ### Aliases: geecc-package geecc
> ### Keywords: package
> 
> ### ** Examples
> 
> ##
> ## a completely artificial example run
> ## through the routines of the package
> ##
> R <- 500
> #generate R random gene-ids
> ID <- sapply(1:R, function(r){paste( sample(LETTERS, 10), collapse="" ) } )
> ID <- unique(ID)
> 
> #assign artificial differentially expressed genes randomly
> category1 <- list( deg.smallFC=sample(ID, 100, rep=FALSE),
+ 	deg.hughFC=sample(ID, 100, rep=FALSE) )
> #assign artificial GO terms of genes randomly
> category2 <- list( go1=sample(ID, 50, replace=FALSE),
+ 	go2=sample(ID, 166, replace=FALSE),
+ 	go3=sample(ID, 74, replace=FALSE),
+ 	go4=sample(ID, 68, replace=FALSE) )
> #assign artificial sequence length of genes randomly
> LEN <- setNames(sample(seq(100, 1000, 100), length(ID), replace=TRUE), ID)
> category3 <- split( ID, f=factor(LEN, levels=seq(100, 1000, 100)) )
> CatList <- list(deg=category1, go=category2, len=category3)
> 
> ConCubFilter.obj <- new("concubfilter", names=names(CatList))
> ConCub.obj <- new("concub", categories=CatList)
Changed order of categories: deg,len,go
> ConCub.obj.2 <- runConCub( obj=ConCub.obj, filter=ConCubFilter.obj, nthreads=1 )
 ----------- FAILURE REPORT -------------- 
 --- failure: length > 1 in coercion to logical ---
 --- srcref --- 
: 
 --- package (from environment) --- 
geecc
 --- call from context --- 
runConCub(obj = ConCub.obj, filter = ConCubFilter.obj, nthreads = 1)
 --- call from argument --- 
(length(nms_categories) != length(filter@names)) || (intersect(nms_categories, 
    filter@names) != nms_categories)
 --- R stacktrace ---
where 1: runConCub(obj = ConCub.obj, filter = ConCubFilter.obj, nthreads = 1)

 --- value of length: 3 type: logical ---
[1] FALSE FALSE FALSE
 --- function from context --- 
function (obj, filter, nthreads = 2, subset = NULL, verbose = list(output.step = 0, 
    show.cat1 = FALSE, show.cat2 = FALSE, show.cat3 = FALSE)) 
{
    NCATS <- length(obj@categories)
    nms_categories <- names(obj@categories)
    if ((length(nms_categories) != length(filter@names)) || (intersect(nms_categories, 
        filter@names) != nms_categories)) {
        warning("Names from concubfilter-object (", paste0(nms_categories, 
            collapse = ","), ") and concub-object (", paste0(filter@names, 
            collapse = ","), ") do not match.")
        return(obj)
    }
    N <- length(obj@population)
    N_factor <- .getNumberOfFactorLevels(obj)
    items_factor <- .getItemsInEachCategory(obj)
    opt_factor <- .getOptOfCategory(obj)
    rng_factor <- vector("list", NCATS)
    sub_categories <- .getNamesOfEachCategory(obj)
    if (!is.null(subset)) {
        for (nm in names(subset)) {
            sub_categories[[nm]] <- intersect(subset[[nm]], sub_categories[[nm]])
        }
    }
    len_sub_categories <- sapply(sub_categories, length)
    ttt <- .getTypeOf_transformTable(form = obj@null.model, nms = nms_categories)
    do.strat <- FALSE
    if (NCATS == 3) {
        do.strat <- obj@options[[3]][["strat"]]
    }
    frm <- obj@null.model
    if (do.strat == TRUE & ttt[[1]] == "mi") {
        frm <- update(frm, as.formula(paste("~.-", names(obj@categories)[3])))
    }
    message(paste("Testing: counts ~ ", as.character(obj@null.model)[2], 
        " (", ttt[[1]], ")", sep = ""), sep = "")
    if (any(sapply(opt_factor, function(x) {
        return(x$grouping != "none")
    }))) {
        message(paste("Grouping: ", paste(names(opt_factor), 
            ":", sapply(opt_factor, function(x) {
                return(x$grouping)
            }), sep = "", collapse = ", "), sep = ""), sep = "")
    }
    RNG <- setNames(vector("list", NCATS), nms_categories)
    if (sum(sapply(opt_factor, function(x) {
        x[["grouping"]] != "none"
    })) > 1) {
        warning("Grouping-option for multiple categories. Results might be hard to interprete.")
    }
    for (g in nms_categories) {
        opt_grouping <- opt_factor[[g]][["grouping"]]
        opt_width <- opt_factor[[g]][["width"]]
        local_len <- len_sub_categories[g]
        local_rng <- sub_categories[[g]]
        RNG[[g]] <- setNames(vector("list", local_len), local_rng)
        for (g2 in 1:local_len) {
            term <- local_rng[g2]
            term2cum <- term
            if (opt_grouping == "none") {
                term2cum <- term
            }
            if (opt_grouping == "cumf") {
                if (g2 == local_len) {
                  next
                }
                term2cum <- local_rng[1:g2]
            }
            if (opt_grouping == "cumr") {
                if (g2 == 1) {
                  next
                }
                term2cum <- local_rng[g2:local_len]
            }
            if (opt_grouping == "sw") {
                l <- opt_width
                start <- max(c(1, g2 - l))
                stop <- min(c(g2 + l, local_len))
                term2cum <- local_rng[start:stop]
            }
            RNG[[g]][[term]] <- term2cum
        }
        if (opt_grouping == "cumf") {
            sub_categories[[g]] <- sub_categories[[g]][1:(local_len - 
                1)]
        }
        if (opt_grouping == "cumr") {
            sub_categories[[g]] <- sub_categories[[g]][2:local_len]
        }
    }
    Len_term3 <- c()
    if (NCATS == 3 && verbose$show.cat3) {
        L <- length(sub_categories[[3]])
        Len_term3 <- setNames(vector("list", L), sub_categories[[3]])
        for (l in 1:L) {
            x <- ifelse(l == 1, sub_categories[[3]][L], sub_categories[[3]][l - 
                1])
            Len_term3[[l]] <- paste(paste(rep("\b", times = nchar(x)), 
                collapse = ""), "\t", sub_categories[[3]][l], 
                collapse = "", sep = "")
        }
    }
    my_separator <- .my_separator()
    tmp0_nms1 <- c(t(outer(sub_categories[[1]], sub_categories[[2]], 
        paste, sep = my_separator)))
    if (NCATS == 3) {
        tmp0_nms1 <- c(t(outer(tmp0_nms1, sub_categories[[3]], 
            paste, sep = my_separator)))
    }
    tmp1 <- items_factor[[nms_categories[2]]]
    tmp2 <- RNG[[nms_categories[2]]]
    PreCalc__x_1_ <- setNames(vector("list", length(sub_categories[[nms_categories[2]]])), 
        names(sub_categories[[nms_categories[2]]]))
    for (t in as.integer(1:length(sub_categories[[nms_categories[2]]]))) {
        PreCalc__x_1_[[t]] <- unique(.special1(tmp1, tmp2, t))
    }
    PreCalc__x__1 <- PreCalc__x__2 <- list()
    if (NCATS == 3) {
        loc_nm3 <- nms_categories[3]
        tmp1 <- items_factor[[loc_nm3]]
        tmp2 <- RNG[[loc_nm3]]
        PreCalc__x__1 <- setNames(vector("list", length(sub_categories[[loc_nm3]])), 
            names(sub_categories[[loc_nm3]]))
        for (t in as.integer(1:length(sub_categories[[loc_nm3]]))) {
            PreCalc__x__1[[t]] <- unique(.special1(tmp1, tmp2, 
                t))
        }
    }
    ITER <- setNames(vector("list", length(tmp0_nms1)), tmp0_nms1)
    loc_nm1 <- nms_categories[1]
    for (g1 in 1:length(sub_categories[[loc_nm1]])) {
        term1 <- sub_categories[[loc_nm1]][g1]
        if (verbose$show.cat1) {
            cat(term1, sep = "")
        }
        notterm1 <- paste("not_", term1, sep = "")
        x1__ <- unique(unlist(items_factor[[loc_nm1]][RNG[[loc_nm1]][[term1]]], 
            use.names = FALSE))
        x2__ <- setdiffPresort(obj@population, x1__)
        RES_CAT2 <- list()
        loc_nm2 <- nms_categories[2]
        for (g2 in 1:length(sub_categories[[loc_nm2]])) {
            term2 <- sub_categories[[loc_nm2]][g2]
            if (verbose$show.cat2) {
                cat("\r\t", term2, "\t", sep = "")
            }
            x_1_ <- PreCalc__x_1_[[g2]]
            x_2_ <- setdiffPresort(obj@population, PreCalc__x_1_[[g2]])
            x1__Ix_1_ <- intersect(x1__, x_1_)
            x1__Ix_2_ <- intersectPresort(x_2_, x1__)
            x2__Ix_1_ <- intersectPresort(x2__, x_1_)
            x2__Ix_2_ <- setdiffPresort(obj@population, c(x1__Ix_1_, 
                x1__Ix_2_, x2__Ix_1_))
            RES_CAT3 <- list()
            if (NCATS == 2) {
                res <- list()
                subpop <- as.character((x1__Ix_1_))
                len_subpop <- length(subpop)
                CT <- array(c(len_subpop, vapply(list(x2__Ix_1_, 
                  x1__Ix_2_, x2__Ix_2_), length, FUN.VALUE = 123)), 
                  dim = c(2, 2), dimnames = list(factor1 = c(term1, 
                    notterm1), factor2 = c(term2, paste("not_", 
                    term2, sep = ""))))
                names(dimnames(CT)) <- nms_categories
                ExpectedValues <- hypergea::getExpectedValues(CT)
                if (!((skip.zeroobs(filter) && len_subpop == 
                  0) || (skip.min.obs(filter) >= len_subpop) || 
                  all(skip.min.group(filter) - c(length(x1__), 
                    length(x_1_)) > 0))) {
                  res <- .performTest_approx(frm, CT, CT, minExpectedValues = min(ExpectedValues), 
                    approx = obj@approx, nthreads, test.direction(filter))
                }
                res <- c(res, list(subpop = subpop))
                RES_CAT2[[term2]] <- res
            }
            if (NCATS == 3) {
                RES_CAT3 <- list()
                loc_nm3 <- nms_categories[3]
                for (g3 in 1:length(sub_categories[[loc_nm3]])) {
                  res <- list()
                  term3 <- sub_categories[[loc_nm3]][g3]
                  if (verbose$show.cat3) {
                    message(Len_term3[[term3]])
                  }
                  x__1 <- PreCalc__x__1[[g3]]
                  x__2 <- setdiffPresort(obj@population, PreCalc__x__1[[g3]])
                  subpop <- as.character(intersect(x1__Ix_1_, 
                    x__1))
                  len_subpop <- length(subpop)
                  CT <- array(NA, dim = c(2, 2, 2), dimnames = list(factor1 = c(term1, 
                    notterm1), factor2 = c(term2, paste("not_", 
                    term2, sep = "")), factor3 = c(term3, paste("not_", 
                    term3, sep = ""))))
                  names(dimnames(CT)) <- nms_categories
                  res <- list(estimate = 1, p.value = 1, subpop = subpop)
                  if (skip.zeroobs(filter) && len_subpop == 0 || 
                    skip.min.obs(filter) >= len_subpop) {
                    RES_CAT3[[term3]] <- res
                    next
                  }
                  group.len <- sapply(list(x1__, x_1_, x__1), 
                    length)
                  if (any(skip.min.group(filter) >= group.len)) {
                    RES_CAT3[[term3]] <- res
                    next
                  }
                  CT <- .getContingencyCube(CT, x1__Ix_1_, x2__Ix_2_, 
                    x1__Ix_2_, x2__Ix_1_, x__1, x__2)
                  ExpectedValues <- getExpectedValues(CT)
                  if (ttt[[1]] %in% c("mi")) {
                    res <- .performTest_approx(frm, CT, CT, minExpectedValues = min(ExpectedValues), 
                      approx = obj@approx, nthreads = nthreads, 
                      test.direction(filter))
                  }
                  else {
                    if (ttt[[1]] %in% c("sp.1", "sp.2", "sp.3")) {
                      CT_t <- .transformTable(CT, x = ttt)
                      ExpectedValues_t <- getExpectedValues(CT_t)
                      res <- .performTest_approx(frm, CT, CT_t, 
                        minExpectedValues = min(ExpectedValues_t), 
                        approx = obj@approx, nthreads = nthreads, 
                        test.direction(filter))
                    }
                    else {
                      res <- .performTest(frm, CT)
                    }
                  }
                  RES_CAT3[[term3]] <- c(res, list(subpop = subpop))
                }
                tmp_nms3 <- names(RES_CAT3)
                RES_CAT2[paste(term2, tmp_nms3, sep = my_separator)] <- RES_CAT3[tmp_nms3]
            }
            if (verbose[["output.step"]] > 0 && ((g2%%verbose[["output.step"]] == 
                0) || (g2 == length(rng_factor[[2]])))) {
                if (verbose$show.cat2) {
                  cat("\n\tpassed: second category (", nms_categories[2], 
                    "), variable ", term2, " (", g2, ")", sep = "")
                }
                if (verbose$show.cat2) {
                  cat("\n")
                }
            }
        }
        tmp_nms2 <- names(RES_CAT2)
        ITER[paste(term1, tmp_nms2, sep = my_separator)] <- RES_CAT2[tmp_nms2]
        if (verbose$show.cat1) {
            cat("\n")
        }
        if (g1%%10 == 0) {
            gc()
        }
    }
    cat("\n")
    obj@test.result <- ITER
    return(obj)
}
<bytecode: 0x000000002e893e48>
<environment: namespace:geecc>
 --- function search by body ---
Function runConCub in namespace geecc has this body.
 ----------- END OF FAILURE REPORT -------------- 
Fatal error: length > 1 in coercion to logical

* checking for unstated dependencies in vignettes ... OK
* checking package vignettes in 'inst/doc' ... OK
* checking running R code from vignettes ... SKIPPED
* checking re-building of vignette outputs ... SKIPPED
* checking PDF version of manual ... OK
* DONE

Status: 2 ERRORs, 1 WARNING, 1 NOTE
See
  'C:/Users/biocbuild/bbs-3.11-bioc/meat/geecc.Rcheck/00check.log'
for details.


Installation output

geecc.Rcheck/00install.out

##############################################################################
##############################################################################
###
### Running command:
###
###   C:\cygwin\bin\curl.exe -O https://malbec2.bioconductor.org/BBS/3.11/bioc/src/contrib/geecc_1.22.0.tar.gz && rm -rf geecc.buildbin-libdir && mkdir geecc.buildbin-libdir && C:\Users\biocbuild\bbs-3.11-bioc\R\bin\R.exe CMD INSTALL --merge-multiarch --build --library=geecc.buildbin-libdir geecc_1.22.0.tar.gz && C:\Users\biocbuild\bbs-3.11-bioc\R\bin\R.exe CMD INSTALL geecc_1.22.0.zip && rm geecc_1.22.0.tar.gz geecc_1.22.0.zip
###
##############################################################################
##############################################################################


  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 1065k  100 1065k    0     0  15.6M      0 --:--:-- --:--:-- --:--:-- 17.3M

install for i386

* installing *source* package 'geecc' ...
** using staged installation
** libs
"C:/rtools40/mingw32/bin/"g++ -std=gnu++11  -I"C:/Users/BIOCBU~1/BBS-3~1.11-/R/include" -DNDEBUG  -I'C:/Users/biocbuild/bbs-3.11-bioc/R/library/Rcpp/include'   -I"C:/extsoft/include"     -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign -c RcppExports.cpp -o RcppExports.o
"C:/rtools40/mingw32/bin/"g++ -std=gnu++11  -I"C:/Users/BIOCBU~1/BBS-3~1.11-/R/include" -DNDEBUG  -I'C:/Users/biocbuild/bbs-3.11-bioc/R/library/Rcpp/include'   -I"C:/extsoft/include"     -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign -c rcpp_hello_world.cpp -o rcpp_hello_world.o
"C:/rtools40/mingw32/bin/"g++ -std=gnu++11  -I"C:/Users/BIOCBU~1/BBS-3~1.11-/R/include" -DNDEBUG  -I'C:/Users/biocbuild/bbs-3.11-bioc/R/library/Rcpp/include'   -I"C:/extsoft/include"     -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign -c specialists.cpp -o specialists.o
C:/rtools40/mingw32/bin/g++ -std=gnu++11 -shared -s -static-libgcc -o geecc.dll tmp.def RcppExports.o rcpp_hello_world.o specialists.o -LC:/extsoft/lib/i386 -LC:/extsoft/lib -LC:/Users/BIOCBU~1/BBS-3~1.11-/R/bin/i386 -lR
installing to C:/Users/biocbuild/bbs-3.11-bioc/meat/geecc.buildbin-libdir/00LOCK-geecc/00new/geecc/libs/i386
** R
** data
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
  converting help for package 'geecc'
    finding HTML links ... done
    GO2list                                 html  
    concub-class                            html  
    concubfilter-class                      html  
    filterConCub                            html  
    geecc-package                           html  
    marioni                                 html  
    plotConCub                              html  
    finding level-2 HTML links ... done

    pval2star                               html  
    runConCub                               html  
    setop                                   html  
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
Warning: Package 'geecc' is deprecated and will be removed from Bioconductor
  version 3.12
** testing if installed package can be loaded from final location
Warning: Package 'geecc' is deprecated and will be removed from Bioconductor
  version 3.12
** testing if installed package keeps a record of temporary installation path

install for x64

* installing *source* package 'geecc' ...
** libs
"C:/rtools40/mingw64/bin/"g++ -std=gnu++11  -I"C:/Users/BIOCBU~1/BBS-3~1.11-/R/include" -DNDEBUG  -I'C:/Users/biocbuild/bbs-3.11-bioc/R/library/Rcpp/include'   -I"C:/extsoft/include"     -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign -c RcppExports.cpp -o RcppExports.o
"C:/rtools40/mingw64/bin/"g++ -std=gnu++11  -I"C:/Users/BIOCBU~1/BBS-3~1.11-/R/include" -DNDEBUG  -I'C:/Users/biocbuild/bbs-3.11-bioc/R/library/Rcpp/include'   -I"C:/extsoft/include"     -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign -c rcpp_hello_world.cpp -o rcpp_hello_world.o
"C:/rtools40/mingw64/bin/"g++ -std=gnu++11  -I"C:/Users/BIOCBU~1/BBS-3~1.11-/R/include" -DNDEBUG  -I'C:/Users/biocbuild/bbs-3.11-bioc/R/library/Rcpp/include'   -I"C:/extsoft/include"     -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign -c specialists.cpp -o specialists.o
C:/rtools40/mingw64/bin/g++ -std=gnu++11 -shared -s -static-libgcc -o geecc.dll tmp.def RcppExports.o rcpp_hello_world.o specialists.o -LC:/extsoft/lib/x64 -LC:/extsoft/lib -LC:/Users/BIOCBU~1/BBS-3~1.11-/R/bin/x64 -lR
installing to C:/Users/biocbuild/bbs-3.11-bioc/meat/geecc.buildbin-libdir/geecc/libs/x64
** testing if installed package can be loaded
Warning: Package 'geecc' is deprecated and will be removed from Bioconductor
  version 3.12
* MD5 sums
packaged installation of 'geecc' as geecc_1.22.0.zip
* DONE (geecc)
* installing to library 'C:/Users/biocbuild/bbs-3.11-bioc/R/library'
package 'geecc' successfully unpacked and MD5 sums checked

Tests output


Example timings

geecc.Rcheck/examples_i386/geecc-Ex.timings

nameusersystemelapsed
GO2list29.54 2.3632.17
concub-class000
concubfilter-class000
filterConCub000

geecc.Rcheck/examples_x64/geecc-Ex.timings

nameusersystemelapsed
GO2list23.69 1.5825.27
concub-class000
concubfilter-class000
filterConCub000