| Back to Multiple platform build/check report for BioC 3.13 |
|
This page was generated on 2021-10-15 15:05:58 -0400 (Fri, 15 Oct 2021).
|
To the developers/maintainers of the Biobase package: - Please allow up to 24 hours (and sometimes 48 hours) for your latest push to git@git.bioconductor.org:packages/Biobase.git to reflect on this report. See How and When does the builder pull? When will my changes propagate? here for more information. - Make sure to use the following settings in order to reproduce any error or warning you see on this page. |
| Package 154/2041 | Hostname | OS / Arch | INSTALL | BUILD | CHECK | BUILD BIN | ||||||||
| Biobase 2.52.0 (landing page) Bioconductor Package Maintainer
| nebbiolo1 | Linux (Ubuntu 20.04.2 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 | |||||||||
| Package: Biobase |
| Version: 2.52.0 |
| Command: C:\Users\biocbuild\bbs-3.13-bioc\R\bin\R.exe CMD check --force-multiarch --install=check:Biobase.install-out.txt --library=C:\Users\biocbuild\bbs-3.13-bioc\R\library --no-vignettes --timings Biobase_2.52.0.tar.gz |
| StartedAt: 2021-10-14 20:06:48 -0400 (Thu, 14 Oct 2021) |
| EndedAt: 2021-10-14 20:09:25 -0400 (Thu, 14 Oct 2021) |
| EllapsedTime: 157.2 seconds |
| RetCode: 0 |
| Status: OK |
| CheckDir: Biobase.Rcheck |
| Warnings: 0 |
##############################################################################
##############################################################################
###
### Running command:
###
### C:\Users\biocbuild\bbs-3.13-bioc\R\bin\R.exe CMD check --force-multiarch --install=check:Biobase.install-out.txt --library=C:\Users\biocbuild\bbs-3.13-bioc\R\library --no-vignettes --timings Biobase_2.52.0.tar.gz
###
##############################################################################
##############################################################################
* using log directory 'C:/Users/biocbuild/bbs-3.13-bioc/meat/Biobase.Rcheck'
* using R version 4.1.1 (2021-08-10)
* using platform: x86_64-w64-mingw32 (64-bit)
* using session charset: ISO8859-1
* using option '--no-vignettes'
* checking for file 'Biobase/DESCRIPTION' ... OK
* this is package 'Biobase' version '2.52.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 'Biobase' can be installed ... OK
* 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 ... NOTE
addVigs2WinMenu: no visible global function definition for
'winMenuNames'
addVigs2WinMenu: no visible global function definition for 'winMenuAdd'
addVigs2WinMenu: no visible global function definition for
'winMenuAddItem'
Undefined global functions or variables:
winMenuAdd winMenuAddItem winMenuNames
Consider adding
importFrom("utils", "winMenuAdd", "winMenuAddItem", "winMenuNames")
to your NAMESPACE file.
* 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.13-bioc/R/library/Biobase/libs/i386/Biobase.dll':
Found 'abort', possibly from 'abort' (C), 'runtime' (Fortran)
File 'C:/Users/biocbuild/bbs-3.13-bioc/R/library/Biobase/libs/x64/Biobase.dll':
Found 'abort', possibly from 'abort' (C), 'runtime' (Fortran)
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' ... OK
** running examples for arch 'x64' ... OK
* checking for unstated dependencies in 'tests' ... OK
* checking tests ...
** running tests for arch 'i386' ...
Running 'test-all.R'
Running 'test-rowMedians.R'
OK
** running tests for arch 'x64' ...
Running 'test-all.R'
Running 'test-rowMedians.R'
OK
* 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 NOTEs
See
'C:/Users/biocbuild/bbs-3.13-bioc/meat/Biobase.Rcheck/00check.log'
for details.
Biobase.Rcheck/00install.out
##############################################################################
##############################################################################
###
### Running command:
###
### C:\cygwin\bin\curl.exe -O http://155.52.207.165/BBS/3.13/bioc/src/contrib/Biobase_2.52.0.tar.gz && rm -rf Biobase.buildbin-libdir && mkdir Biobase.buildbin-libdir && C:\Users\biocbuild\bbs-3.13-bioc\R\bin\R.exe CMD INSTALL --merge-multiarch --build --library=Biobase.buildbin-libdir Biobase_2.52.0.tar.gz && C:\Users\biocbuild\bbs-3.13-bioc\R\bin\R.exe CMD INSTALL Biobase_2.52.0.zip && rm Biobase_2.52.0.tar.gz Biobase_2.52.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 1158k 100 1158k 0 0 3395k 0 --:--:-- --:--:-- --:--:-- 3407k
install for i386
* installing *source* package 'Biobase' ...
** using staged installation
** libs
"C:/rtools40/mingw32/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"c:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c Rinit.c -o Rinit.o
"C:/rtools40/mingw32/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"c:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c anyMissing.c -o anyMissing.o
"C:/rtools40/mingw32/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"c:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c envir.c -o envir.o
"C:/rtools40/mingw32/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"c:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c matchpt.c -o matchpt.o
"C:/rtools40/mingw32/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"c:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c rowMedians.c -o rowMedians.o
"C:/rtools40/mingw32/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"c:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c sublist_extract.c -o sublist_extract.o
C:/rtools40/mingw32/bin/gcc -shared -s -static-libgcc -o Biobase.dll tmp.def Rinit.o anyMissing.o envir.o matchpt.o rowMedians.o sublist_extract.o -Lc:/extsoft/lib/i386 -Lc:/extsoft/lib -LC:/Users/BIOCBU~1/BBS-3~1.13-/R/bin/i386 -lR
installing to C:/Users/biocbuild/bbs-3.13-bioc/meat/Biobase.buildbin-libdir/00LOCK-Biobase/00new/Biobase/libs/i386
** R
** data
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
converting help for package 'Biobase'
finding HTML links ... done
Aggregate html
Biobase-package html
ScalarObject-class html
abstract html
addVig2Menu html
annotatedDataFrameFrom-methods html
anyMissing html
assayData html
cache html
channel html
channelNames html
class.AnnotatedDataFrame html
finding level-2 HTML links ... done
class.AssayData html
REDIRECT:topic Previous alias or file overwritten by alias: C:/Users/biocbuild/bbs-3.13-bioc/meat/Biobase.buildbin-libdir/00LOCK-Biobase/00new/Biobase/help/AssayData.html
class.ExpressionSet html
class.MIAME html
class.MIAxE html
class.MultiSet html
class.NChannelSet html
class.SnpSet html
class.Versioned html
class.VersionedBiobase html
class.Versions html
class.VersionsNull html
class.aggregator html
class.characterORmiame html
class.container html
class.eSet html
classVersion html
contents html
copyEnv html
copySubstitute html
createPackage html
data.aaMap html
data.geneData html
data.reporter html
data.sample.ExpressionSet html
data.sample.MultiSet html
defunct html
description html
dumpPackTxt html
esApply html
exprs html
featureData html
featureNames html
getPkgVigs html
internals html
isCurrent html
isUnique html
isVersioned html
lcSuffix html
listLen html
makeDataPackage html
matchpt html
multiassign html
note html
notes html
openPDF html
openVignette html
package.version html
phenoData html
protocolData html
read.AnnotatedDataFrame html
read.MIAME html
readExpressionSet html
reverseSplit html
rowMedians html
rowQ html
selectChannels html
selectSome html
snpCall html
storageMode html
strbreak html
subListExtract html
testBioCConnection html
updateObjectTo html
updateOldESet html
userQuery html
validMsg html
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
install for x64
* installing *source* package 'Biobase' ...
** libs
"C:/rtools40/mingw64/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"C:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c Rinit.c -o Rinit.o
"C:/rtools40/mingw64/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"C:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c anyMissing.c -o anyMissing.o
"C:/rtools40/mingw64/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"C:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c envir.c -o envir.o
"C:/rtools40/mingw64/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"C:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c matchpt.c -o matchpt.o
"C:/rtools40/mingw64/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"C:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c rowMedians.c -o rowMedians.o
"C:/rtools40/mingw64/bin/"gcc -I"C:/Users/BIOCBU~1/BBS-3~1.13-/R/include" -DNDEBUG -I"C:/extsoft/include" -O2 -Wall -std=gnu99 -mfpmath=sse -msse2 -mstackrealign -c sublist_extract.c -o sublist_extract.o
C:/rtools40/mingw64/bin/gcc -shared -s -static-libgcc -o Biobase.dll tmp.def Rinit.o anyMissing.o envir.o matchpt.o rowMedians.o sublist_extract.o -LC:/extsoft/lib/x64 -LC:/extsoft/lib -LC:/Users/BIOCBU~1/BBS-3~1.13-/R/bin/x64 -lR
installing to C:/Users/biocbuild/bbs-3.13-bioc/meat/Biobase.buildbin-libdir/Biobase/libs/x64
** testing if installed package can be loaded
* MD5 sums
packaged installation of 'Biobase' as Biobase_2.52.0.zip
* DONE (Biobase)
* installing to library 'C:/Users/biocbuild/bbs-3.13-bioc/R/library'
package 'Biobase' successfully unpacked and MD5 sums checked
|
Biobase.Rcheck/tests_i386/test-all.Rout
R version 4.1.1 (2021-08-10) -- "Kick Things"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: i386-w64-mingw32/i386 (32-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.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 -- Thu Oct 14 20:08:16 2021
***********************************************
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
11.87 0.32 12.59
|
Biobase.Rcheck/tests_x64/test-all.Rout
R version 4.1.1 (2021-08-10) -- "Kick Things"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (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.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 -- Thu Oct 14 20:08:49 2021
***********************************************
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
11.56 0.18 11.79
|
|
Biobase.Rcheck/tests_i386/test-rowMedians.Rout
R version 4.1.1 (2021-08-10) -- "Kick Things"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: i386-w64-mingw32/i386 (32-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.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.519
Random test #2
rowMedians()/apply(): 0.333
rowMedians()/rowMedians2(): 0.6
Random test #3
rowMedians()/apply(): 0
Random test #4
rowMedians()/apply(): 0.273
rowMedians()/rowMedians2(): 0.375
Random test #5
rowMedians()/apply(): 0.273
rowMedians()/rowMedians2(): 0.409
Random test #6
rowMedians()/apply(): 0.167
rowMedians()/rowMedians2(): 0.2
Random test #7
rowMedians()/apply(): 0.681
Random test #8
rowMedians()/apply(): 0
rowMedians()/rowMedians2(): NaN
Random test #9
rowMedians()/apply(): 0
Random test #10
rowMedians()/apply(): 0.611
Random test #11
rowMedians()/apply(): 0.4
Random test #12
rowMedians()/apply(): 0.545
Random test #13
rowMedians()/apply(): 0
rowMedians()/rowMedians2(): NaN
Random test #14
rowMedians()/apply(): 0.609
Random test #15
rowMedians()/apply(): 0.75
Random test #16
rowMedians()/apply(): 0.125
rowMedians()/rowMedians2(): 0.2
Random test #17
rowMedians()/apply(): 0.778
Random test #18
rowMedians()/apply(): 0.25
rowMedians()/rowMedians2(): 1
Random test #19
rowMedians()/apply(): 0.273
rowMedians()/rowMedians2(): 0.6
Random test #20
rowMedians()/apply(): 0.321
rowMedians()/rowMedians2(): 0.36
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # 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) max used (Mb)
Ncells 580724 17.8 1264350 38.6 1087172 33.2
Vcells 1688092 12.9 10146329 77.5 12255403 93.6
> t0 <- system.time({
+ for (rr in 1:20)
+ y0 <- apply(x, MARGIN=1, FUN=median, na.rm=FALSE)
+ })
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 580741 17.8 1264350 38.6 1130512 34.6
Vcells 1689106 12.9 10146329 77.5 12255403 93.6
> t1 <- system.time({
+ for (rr in 1:20)
+ y1 <- rowMedians(x, na.rm=FALSE)
+ })
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 580741 17.8 1264350 38.6 1130512 34.6
Vcells 1688231 12.9 10146329 77.5 12255403 93.6
> stopifnot(all.equal(y0,y1))
> cat(sprintf("rowMedians()/apply(): %.3g\n", (t1/t0)[3]))
rowMedians()/apply(): 0.27
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # 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
20.54 0.29 20.81
|
Biobase.Rcheck/tests_x64/test-rowMedians.Rout
R version 4.1.1 (2021-08-10) -- "Kick Things"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (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.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.3
Random test #2
rowMedians()/apply(): 0.273
rowMedians()/rowMedians2(): 0.75
Random test #3
rowMedians()/apply(): 0
Random test #4
rowMedians()/apply(): 0.143
rowMedians()/rowMedians2(): 0.286
Random test #5
rowMedians()/apply(): 0.196
rowMedians()/rowMedians2(): 0.409
Random test #6
rowMedians()/apply(): 0.143
rowMedians()/rowMedians2(): 0.333
Random test #7
rowMedians()/apply(): 0.137
Random test #8
rowMedians()/apply(): 0
rowMedians()/rowMedians2(): NaN
Random test #9
rowMedians()/apply(): 0
Random test #10
rowMedians()/apply(): 0.2
Random test #11
rowMedians()/apply(): 0
Random test #12
rowMedians()/apply(): 0.167
Random test #13
rowMedians()/apply(): 0.667
rowMedians()/rowMedians2(): 1
Random test #14
rowMedians()/apply(): 0.286
Random test #15
rowMedians()/apply(): 0.188
Random test #16
rowMedians()/apply(): 0.111
rowMedians()/rowMedians2(): 0.333
Random test #17
rowMedians()/apply(): 0.1
Random test #18
rowMedians()/apply(): 0.154
rowMedians()/rowMedians2(): 1
Random test #19
rowMedians()/apply(): 0.294
rowMedians()/rowMedians2(): 1
Random test #20
rowMedians()/apply(): 0.18
rowMedians()/rowMedians2(): 0.393
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # 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) max used (Mb)
Ncells 580725 31.1 1264300 67.6 1086730 58.1
Vcells 2032284 15.6 12255594 93.6 12255271 93.6
> t0 <- system.time({
+ for (rr in 1:20)
+ y0 <- apply(x, MARGIN=1, FUN=median, na.rm=FALSE)
+ })
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 580741 31.1 1264300 67.6 1193572 63.8
Vcells 2033301 15.6 12255594 93.6 12255594 93.6
> t1 <- system.time({
+ for (rr in 1:20)
+ y1 <- rowMedians(x, na.rm=FALSE)
+ })
> gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 580741 31.1 1264300 67.6 1193572 63.8
Vcells 2032426 15.6 12255594 93.6 12255594 93.6
> stopifnot(all.equal(y0,y1))
> cat(sprintf("rowMedians()/apply(): %.3g\n", (t1/t0)[3]))
rowMedians()/apply(): 0.197
>
>
> # - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> # 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
20.87 0.29 21.15
|
|
Biobase.Rcheck/examples_i386/Biobase-Ex.timings
|
Biobase.Rcheck/examples_x64/Biobase-Ex.timings
|