CHECK report for Biobase on machv2
This page was generated on 2020-10-17 11:58:06 -0400 (Sat, 17 Oct 2020).
|
TO THE DEVELOPERS/MAINTAINERS OF THE Biobase PACKAGE: Please make sure to use the following settings in order to reproduce any error or warning you see on this page.
|
|
Biobase 2.48.0 Bioconductor Package Maintainer
Snapshot Date: 2020-10-16 14:40:19 -0400 (Fri, 16 Oct 2020) |
URL: https://git.bioconductor.org/packages/Biobase |
Branch: RELEASE_3_11 |
Last Commit: 4ffadf2 |
Last Changed Date: 2020-04-27 14:07:40 -0400 (Mon, 27 Apr 2020) |
| malbec2 | Linux (Ubuntu 18.04.4 LTS) / x86_64 | OK | OK | OK | | |
tokay2 | Windows Server 2012 R2 Standard / x64 | OK | OK | OK | OK | |
machv2 | macOS 10.14.6 Mojave / x86_64 | OK | OK | [ OK ] | OK | |
Summary
Command output
Installation output
Biobase.Rcheck/00install.out
Tests output
Biobase.Rcheck/tests/test-all.Rout
R version 4.0.3 (2020-10-10) -- "Bunny-Wunnies Freak Out"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin17.0 (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> BiocGenerics:::testPackage("Biobase")
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Welcome to Bioconductor
Vignettes contain introductory material; view with
'browseVignettes()'. To cite Bioconductor, see
'citation("Biobase")', and for packages 'citation("pkgname")'.
RUNIT TEST PROTOCOL -- Fri Oct 16 23:02:21 2020
***********************************************
Number of test functions: 101
Number of errors: 0
Number of failures: 0
1 Test Suite :
Biobase RUnit Tests - 101 test functions, 0 errors, 0 failures
Number of test functions: 101
Number of errors: 0
Number of failures: 0
>
> proc.time()
user system elapsed
18.844 0.259 19.160
Biobase.Rcheck/tests/test-rowMedians.Rout
R version 4.0.3 (2020-10-10) -- "Bunny-Wunnies Freak Out"
Copyright (C) 2020 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin17.0 (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(Biobase)
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Welcome to Bioconductor
Vignettes contain introductory material; view with
'browseVignettes()'. To cite Bioconductor, see
'citation("Biobase")', and for packages 'citation("pkgname")'.
> set.seed(1)
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # Consistency checks
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
> # rowMedians() by rowQ()
> rowMedians2 <- function(imat) {
+ nr <- ncol(imat)
+ half <- (nr + 1)/2
+ if (nr%%2 == 1) {
+ return(rowQ(imat, half))
+ } else {
+ return((rowQ(imat, half) + rowQ(imat, half+1))/2)
+ }
+ }
>
> cat("Consistency checks:\n")
Consistency checks:
> set.seed(1)
> for (kk in 1:20) {
+ cat("Random test #", kk, "\n", sep="")
+
+ # Simulate data in a matrix of any shape
+ nrow <- sample(2000, size=1)
+ ncol <- sample(2000, size=1)
+ x <- rnorm(nrow*ncol)
+ dim(x) <- c(nrow, ncol)
+
+ # Add NAs?
+ nas <- sample(c(TRUE,FALSE), size=1)
+ if (nas) {
+ nna <- sample(nrow*ncol, size=1)
+ x[sample(length(x), size=nna)] <- NA
+ }
+
+ na.rm <- nas
+ t1 <- system.time({
+ y1 <- rowMedians(x, na.rm=na.rm)
+ })
+ t2 <- system.time({
+ y2 <- apply(x, MARGIN=1, FUN=median, na.rm=na.rm)
+ })
+ # When all values of 'y2' are NA, 'y2' is logical
+ if (is.logical(y2)) y2 <- as.double(y2)
+ stopifnot(all.equal(y1,y2))
+ cat(sprintf("rowMedians()/apply(): %.3g\n", (t1/t2)[3]))
+
+ if (!nas) {
+ t3 <- system.time({
+ y3 <- rowMedians2(x)
+ })
+ stopifnot(all.equal(y1,y3))
+ cat(sprintf("rowMedians()/rowMedians2(): %.3g\n", (t1/t3)[3]))
+ }
+ }
Random test #1
rowMedians()/apply(): 0.205
Random test #2
rowMedians()/apply(): 0.134
rowMedians()/rowMedians2(): 0.394
Random test #3
rowMedians()/apply(): 0.0417
Random test #4
rowMedians()/apply(): 0.152
rowMedians()/rowMedians2(): 0.24
Random test #5
rowMedians()/apply(): 0.22
rowMedians()/rowMedians2(): 0.405
Random test #6
rowMedians()/apply(): 0.239
rowMedians()/rowMedians2(): 0.396
Random test #7
rowMedians()/apply(): 0.25
Random test #8
rowMedians()/apply(): 0
rowMedians()/rowMedians2(): NaN
Random test #9
rowMedians()/apply(): 0.125
Random test #10
rowMedians()/apply(): 0.0635
Random test #11
rowMedians()/apply(): 0.105
Random test #12
rowMedians()/apply(): 0.115
Random test #13
rowMedians()/apply(): 0.333
rowMedians()/rowMedians2(): 0.889
Random test #14
rowMedians()/apply(): 0.19
Random test #15
rowMedians()/apply(): 0.162
Random test #16
rowMedians()/apply(): 0.216
rowMedians()/rowMedians2(): 0.472
Random test #17
rowMedians()/apply(): 0.163
Random test #18
rowMedians()/apply(): 0.0904
rowMedians()/rowMedians2(): 0.944
Random test #19
rowMedians()/apply(): 0.315
rowMedians()/rowMedians2(): 0.867
Random test #20
rowMedians()/apply(): 0.28
rowMedians()/rowMedians2(): 0.467
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # Benchmarking
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> cat("Benchmarking:\n")
Benchmarking:
>
> # Simulate data in a matrix of any shape
> nrow <- 1000
> ncol <- 1000
> x <- rnorm(nrow*ncol)
> dim(x) <- c(nrow, ncol)
>
> gc()
used (Mb) gc trigger (Mb) limit (Mb) max used (Mb)
Ncells 583453 31.2 1167352 62.4 NA 1038299 55.5
Vcells 2060383 15.8 12255594 93.6 65536 12287866 93.8
> t0 <- system.time({
+ for (rr in 1:20)
+ y0 <- apply(x, MARGIN=1, FUN=median, na.rm=FALSE)
+ })
> gc()
used (Mb) gc trigger (Mb) limit (Mb) max used (Mb)
Ncells 583469 31.2 1167352 62.4 NA 1167352 62.4
Vcells 2061400 15.8 12255594 93.6 65536 12287866 93.8
> t1 <- system.time({
+ for (rr in 1:20)
+ y1 <- rowMedians(x, na.rm=FALSE)
+ })
> gc()
used (Mb) gc trigger (Mb) limit (Mb) max used (Mb)
Ncells 583469 31.2 1167352 62.4 NA 1167352 62.4
Vcells 2060525 15.8 12255594 93.6 65536 12287866 93.8
> stopifnot(all.equal(y0,y1))
> cat(sprintf("rowMedians()/apply(): %.3g\n", (t1/t0)[3]))
rowMedians()/apply(): 0.191
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # Consistency checks
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> cat("Consistency checks without NAs:\n")
Consistency checks without NAs:
> for (kk in 1:20) {
+ cat("Random test #", kk, "\n", sep="")
+
+ # Simulate data in a matrix of any shape
+ nrow <- sample(1000, size=1)
+ ncol <- sample(1000, size=1)
+ x <- rnorm(nrow*ncol)
+ dim(x) <- c(nrow, ncol)
+
+ t0 <- system.time({
+ y0 <- apply(x, MARGIN=1, FUN=median, na.rm=FALSE)
+ })
+ t1 <- system.time({
+ y1 <- rowMedians(x, na.rm=FALSE)
+ })
+ stopifnot(all.equal(y0,y1))
+ } # for (kk in ...)
Random test #1
Random test #2
Random test #3
Random test #4
Random test #5
Random test #6
Random test #7
Random test #8
Random test #9
Random test #10
Random test #11
Random test #12
Random test #13
Random test #14
Random test #15
Random test #16
Random test #17
Random test #18
Random test #19
Random test #20
>
>
>
> cat("Consistency checks with NAs:\n")
Consistency checks with NAs:
> for (kk in 1:20) {
+ cat("Random test #", kk, "\n", sep="")
+
+ # Simulate data in a matrix of any shape
+ nrow <- sample(1000, size=1)
+ ncol <- sample(1000, size=1)
+ x <- rnorm(nrow*ncol)
+ dim(x) <- c(nrow, ncol)
+
+ # Add NAs
+ nna <- sample(nrow*ncol-1, size=1)
+ x[sample(length(x), size=nna)] <- NA
+
+ t0 <- system.time({
+ y0 <- apply(x, MARGIN=1, FUN=median, na.rm=TRUE)
+ y0[is.na(y0)] <- NA
+ })
+ t1 <- system.time({
+ y1 <- rowMedians(x, na.rm=TRUE)
+ })
+ stopifnot(all.equal(y0,y1))
+ } # for (kk in ...)
Random test #1
Random test #2
Random test #3
Random test #4
Random test #5
Random test #6
Random test #7
Random test #8
Random test #9
Random test #10
Random test #11
Random test #12
Random test #13
Random test #14
Random test #15
Random test #16
Random test #17
Random test #18
Random test #19
Random test #20
>
> proc.time()
user system elapsed
24.969 0.839 25.819
Example timings
Biobase.Rcheck/Biobase-Ex.timings