* using log directory ‘/data/gannet/ripley/R/packages/tests-LENGTH1/RAM.Rcheck’ * using R Under development (unstable) (2022-04-26 r82260) * using platform: x86_64-pc-linux-gnu (64-bit) * using session charset: UTF-8 * using option ‘--no-stop-on-test-error’ * checking for file ‘RAM/DESCRIPTION’ ... OK * checking extension type ... Package * this is package ‘RAM’ version ‘1.2.1.7’ * 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 executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘RAM’ can be installed ... [38s/107s] OK * checking package 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 * 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 loading without being on the library search path ... OK * checking use of S3 registration ... 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 ... [68s/169s] OK * checking Rd files ... OK * checking Rd metadata ... OK * checking Rd line widths ... 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 examples ... [19s/45s] ERROR Running examples in ‘RAM-Ex.R’ failed The error most likely occurred in: > ### Name: core.Taxa > ### Title: Show Summary of Core Taxa > ### Aliases: core.Taxa > ### Keywords: datagen > > ### ** Examples > > data(ITS1, meta) > # taxa shared by 50 percent samples of each city > core <- core.Taxa(data=list(ITS1=ITS1), is.OTU=TRUE, meta=meta, + rank="g", meta.factor="City", percent=0.5) ----------- FAILURE REPORT -------------- --- failure: length > 1 in coercion to logical --- --- srcref --- : --- package (from environment) --- RAM --- call from context --- core.Taxa(data = list(ITS1 = ITS1), is.OTU = TRUE, meta = meta, rank = "g", meta.factor = "City", percent = 0.5) --- call from argument --- unique(tax.fac.id[[tax.fac.list.num + 1]]) == "" || length(unique(tax.fac.id[[tax.fac.list.num + 1]])) == 0 --- R stacktrace --- where 1: core.Taxa(data = list(ITS1 = ITS1), is.OTU = TRUE, meta = meta, rank = "g", meta.factor = "City", percent = 0.5) --- value of length: 23 type: logical --- [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE --- function from context --- function (data, is.OTU = FALSE, rank = "g", drop.unclassified = TRUE, meta, meta.factor = "", percent = 1) { if (class(data) != "list") { stop("please provide otu tables as list. See ?RAM.input.formatting for details") } .valid.data(data = data, is.OTU = is.OTU) if (is.OTU) { rank.name <- .get.rank.name(rank, plural = TRUE) rank_name <- .get.rank.name(rank) rank_pat <- .get.rank.pat(rank) } else { warning("data are not otu tables, will ignore the rank provided") rank_name <- "taxa" rank.name <- "taxa" rank_pat <- "" } list.core <- list() labels <- names(data) for (i in 1:length(data)) { label <- names(data)[i] elem <- data[[i]] if (is.null(elem)) { break } if (is.OTU) { valid.OTU(elem) .valid.meta(otu1 = elem, meta = meta) rank.name <- .get.rank.name(rank, plural = TRUE) rank_name <- .get.rank.name(rank) rank_pat <- .get.rank.pat(rank) tax.all <- tax.abund(elem, rank = rank, drop.unclassified = FALSE, count = TRUE) } else { elem <- elem[match(rownames(meta), rownames(elem)), ] if (identical(rownames(elem), rownames(meta))) { tax.all <- elem } else { stop("Error: metadata and data don't have same subjects") } } if (!length(meta.factor) == 1) { stop("Error: please provide one factor variable in metadata") } else { .valid.factor(meta, meta.factor) fac.levels <- levels(factor(meta[[meta.factor]])) } if (drop.unclassified) { remove.pat <- paste(.blacklist(), collapse = "|") tax <- tax.all[, !grepl(remove.pat, names(tax.all), ignore.case = TRUE), drop = FALSE] } else { tax <- tax.all } tax.fac.list = list() tax.fac.id = list() for (j in 1:length(fac.levels)) { meta.fac <- meta[grep(fac.levels[j], meta[[meta.factor]]), ] tax.fac <- tax[match(rownames(meta.fac), rownames(tax)), ] tax.fac <- tax.fac[rowSums(tax.fac) > 0, colSums(tax.fac) > 0] tax.fac.pa <- vegan::decostand(tax.fac, "pa") tax.all.fac <- tax.all[match(rownames(meta.fac), rownames(tax.all)), ] tax.all.fac <- tax.all.fac[rowSums(tax.all.fac) > 0, colSums(tax.all.fac) > 0] tax.all.fac.pa <- vegan::decostand(tax.all.fac, "pa") sel <- which(colSums(tax.fac.pa) >= round(percent * nrow(tax.fac.pa))) if (length(sel) != 0) { tax.fac.ids <- as.character(colnames(tax.fac)[sel]) tax.fac.id[[j]] <- as.character(colnames(tax.fac)[sel]) tax.fac.ids.num <- length(tax.fac.ids) tax.fac.ids.perc <- 100 * sum(tax.fac[, c(tax.fac.ids)])/sum(tax.all.fac) } else { tax.fac.ids <- "" tax.fac.id[[j]] <- "" tax.fac.ids.num <- 0 tax.fac.ids.perc <- 0 } description <- paste(tax.fac.ids.num, "_", rank.name, "_found_in_", percent * 100, "%_", fac.levels[j], "_samples; ", tax.fac.ids.perc, "%_of_total_sequences_in_", fac.levels[j], sep = "") tax.fac.list[[j]] <- list(summary = description, taxa = tax.fac.ids) names(tax.fac.list)[[j]] <- fac.levels[j] } tax.fac.list.num <- length(tax.fac.list) tax.fac.id[[tax.fac.list.num + 1]] <- as.character(factor(Reduce(intersect, tax.fac.id))) if (unique(tax.fac.id[[tax.fac.list.num + 1]]) == "" || length(unique(tax.fac.id[[tax.fac.list.num + 1]])) == 0) { tax.fac.id.all.num <- 0 tax.fac.perc <- 0 tax.fac.id.all <- "" } else { tax.fac.id.all.num <- length(tax.fac.id[[tax.fac.list.num + 1]]) tax.fac.id.all <- tax.fac.id[[tax.fac.list.num + 1]] tax.sel <- tax[, which(colnames(tax) %in% tax.fac.id.all)] tax.fac.perc <- 100 * sum(tax.sel)/sum(tax.all) } description <- paste(tax.fac.id.all.num, "_", rank.name, "_found_in_", percent * 100, "%_of_samples_at_each_", meta.factor, "; ", tax.fac.perc, "%_of_total_sequences", sep = "") tax.fac.list[[tax.fac.list.num + 1]] <- list(summary = description, taxa = tax.fac.id.all) names(tax.fac.list)[[tax.fac.list.num + 1]] <- meta.factor list.core[[label]] <- tax.fac.list } return(list.core) } --- function search by body --- Function core.Taxa in namespace RAM has this body. ----------- END OF FAILURE REPORT -------------- Fatal error: length > 1 in coercion to logical * checking PDF version of manual ... OK * checking for non-standard things in the check directory ... OK * checking for detritus in the temp directory ... OK * DONE Status: 1 ERROR See ‘/data/gannet/ripley/R/packages/tests-LENGTH1/RAM.Rcheck/00check.log’ for details. Command exited with non-zero status 1 Time 11:53.63, 254.64 + 20.18