Back to Multiple platform build/check report for BioC 3.10 |
|
This page was generated on 2020-04-15 12:17:43 -0400 (Wed, 15 Apr 2020).
Package 76/1823 | Hostname | OS / Arch | INSTALL | BUILD | CHECK | BUILD BIN | ||||||
aroma.light 3.16.0 Henrik Bengtsson
| malbec1 | Linux (Ubuntu 18.04.4 LTS) / x86_64 | OK | OK | OK | |||||||
tokay1 | Windows Server 2012 R2 Standard / x64 | OK | OK | [ OK ] | OK | |||||||
merida1 | OS X 10.11.6 El Capitan / x86_64 | OK | OK | OK | OK |
Package: aroma.light |
Version: 3.16.0 |
Command: C:\Users\biocbuild\bbs-3.10-bioc\R\bin\R.exe CMD check --force-multiarch --install=check:aroma.light.install-out.txt --library=C:\Users\biocbuild\bbs-3.10-bioc\R\library --no-vignettes --timings aroma.light_3.16.0.tar.gz |
StartedAt: 2020-04-15 01:17:58 -0400 (Wed, 15 Apr 2020) |
EndedAt: 2020-04-15 01:20:16 -0400 (Wed, 15 Apr 2020) |
EllapsedTime: 137.6 seconds |
RetCode: 0 |
Status: OK |
CheckDir: aroma.light.Rcheck |
Warnings: 0 |
############################################################################## ############################################################################## ### ### Running command: ### ### C:\Users\biocbuild\bbs-3.10-bioc\R\bin\R.exe CMD check --force-multiarch --install=check:aroma.light.install-out.txt --library=C:\Users\biocbuild\bbs-3.10-bioc\R\library --no-vignettes --timings aroma.light_3.16.0.tar.gz ### ############################################################################## ############################################################################## * using log directory 'C:/Users/biocbuild/bbs-3.10-bioc/meat/aroma.light.Rcheck' * using R version 3.6.3 (2020-02-29) * using platform: x86_64-w64-mingw32 (64-bit) * using session charset: ISO8859-1 * using option '--no-vignettes' * checking for file 'aroma.light/DESCRIPTION' ... OK * this is package 'aroma.light' version '3.16.0' * package encoding: latin1 * 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 ... NOTE Found the following hidden files and directories: inst/rsp/.rspPlugins These were most likely included in error. See section 'Package structure' in the 'Writing R Extensions' manual. * checking for portable file names ... OK * checking whether package 'aroma.light' can be installed ... OK * checking installed package size ... 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 * 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 examples ... ** running examples for arch 'i386' ... OK Examples with CPU or elapsed time > 5s user system elapsed normalizeCurveFit 7.24 0.00 7.23 normalizeAffine 7.15 0.06 7.68 ** running examples for arch 'x64' ... OK Examples with CPU or elapsed time > 5s user system elapsed normalizeAffine 7.08 0.00 7.07 normalizeCurveFit 6.94 0.03 6.97 * checking for unstated dependencies in 'tests' ... OK * checking tests ... ** running tests for arch 'i386' ... Running 'backtransformAffine.matrix.R' Running 'backtransformPrincipalCurve.matrix.R' Running 'callNaiveGenotypes.R' Running 'distanceBetweenLines.R' Running 'findPeaksAndValleys.R' Running 'fitPrincipalCurve.matrix.R' Running 'fitXYCurve.matrix.R' Running 'iwpca.matrix.R' Running 'likelihood.smooth.spline.R' Running 'medianPolish.matrix.R' Running 'normalizeAffine.matrix.R' Running 'normalizeAverage.list.R' Running 'normalizeAverage.matrix.R' Running 'normalizeCurveFit.matrix.R' Running 'normalizeDifferencesToAverage.R' Running 'normalizeFragmentLength-ex1.R' Running 'normalizeFragmentLength-ex2.R' Running 'normalizeQuantileRank.list.R' Running 'normalizeQuantileRank.matrix.R' Running 'normalizeQuantileSpline.matrix.R' Running 'normalizeTumorBoost,flavors.R' Running 'normalizeTumorBoost.R' Running 'robustSmoothSpline.R' Running 'rowAverages.matrix.R' Running 'sampleCorrelations.matrix.R' Running 'sampleTuples.R' Running 'wpca.matrix.R' Running 'wpca2.matrix.R' OK ** running tests for arch 'x64' ... Running 'backtransformAffine.matrix.R' Running 'backtransformPrincipalCurve.matrix.R' Running 'callNaiveGenotypes.R' Running 'distanceBetweenLines.R' Running 'findPeaksAndValleys.R' Running 'fitPrincipalCurve.matrix.R' Running 'fitXYCurve.matrix.R' Running 'iwpca.matrix.R' Running 'likelihood.smooth.spline.R' Running 'medianPolish.matrix.R' Running 'normalizeAffine.matrix.R' Running 'normalizeAverage.list.R' Running 'normalizeAverage.matrix.R' Running 'normalizeCurveFit.matrix.R' Running 'normalizeDifferencesToAverage.R' Running 'normalizeFragmentLength-ex1.R' Running 'normalizeFragmentLength-ex2.R' Running 'normalizeQuantileRank.list.R' Running 'normalizeQuantileRank.matrix.R' Running 'normalizeQuantileSpline.matrix.R' Running 'normalizeTumorBoost,flavors.R' Running 'normalizeTumorBoost.R' Running 'robustSmoothSpline.R' Running 'rowAverages.matrix.R' Running 'sampleCorrelations.matrix.R' Running 'sampleTuples.R' Running 'wpca.matrix.R' Running 'wpca2.matrix.R' OK * checking PDF version of manual ... OK * DONE Status: 1 NOTE See 'C:/Users/biocbuild/bbs-3.10-bioc/meat/aroma.light.Rcheck/00check.log' for details.
aroma.light.Rcheck/00install.out
############################################################################## ############################################################################## ### ### Running command: ### ### C:\cygwin\bin\curl.exe -O https://malbec1.bioconductor.org/BBS/3.10/bioc/src/contrib/aroma.light_3.16.0.tar.gz && rm -rf aroma.light.buildbin-libdir && mkdir aroma.light.buildbin-libdir && C:\Users\biocbuild\bbs-3.10-bioc\R\bin\R.exe CMD INSTALL --merge-multiarch --build --library=aroma.light.buildbin-libdir aroma.light_3.16.0.tar.gz && C:\Users\biocbuild\bbs-3.10-bioc\R\bin\R.exe CMD INSTALL aroma.light_3.16.0.zip && rm aroma.light_3.16.0.tar.gz aroma.light_3.16.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 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 411k 100 411k 0 0 11.2M 0 --:--:-- --:--:-- --:--:-- 12.1M install for i386 * installing *source* package 'aroma.light' ... ** using staged installation ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices converting help for package 'aroma.light' finding HTML links ... done 1._Calibration_and_Normalization html Non-documented_objects html aroma.light-package html averageQuantile html backtransformAffine html backtransformPrincipalCurve html calibrateMultiscan html callNaiveGenotypes html distanceBetweenLines html findPeaksAndValleys html fitIWPCA html fitNaiveGenotypes html fitPrincipalCurve html fitXYCurve html iwpca html likelihood.smooth.spline html medianPolish html normalizeAffine html normalizeAverage html normalizeCurveFit html normalizeDifferencesToAverage html normalizeFragmentLength html normalizeQuantileRank html normalizeQuantileRank.matrix html normalizeQuantileSpline html normalizeTumorBoost html pairedAlleleSpecificCopyNumbers html plotDensity html plotMvsA html plotMvsAPairs html plotMvsMPairs html plotXYCurve html print.SmoothSplineLikelihood html robustSmoothSpline html sampleCorrelations html sampleTuples html wpca html ** building package indices ** 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 'aroma.light' ... ** testing if installed package can be loaded * MD5 sums packaged installation of 'aroma.light' as aroma.light_3.16.0.zip * DONE (aroma.light) * installing to library 'C:/Users/biocbuild/bbs-3.10-bioc/R/library' package 'aroma.light' successfully unpacked and MD5 sums checked
aroma.light.Rcheck/tests_i386/backtransformAffine.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > X <- matrix(1:8, nrow=4, ncol=2) > X[2,2] <- NA_integer_ > > print(X) [,1] [,2] [1,] 1 5 [2,] 2 NA [3,] 3 7 [4,] 4 8 > > # Returns a 4x2 matrix > print(backtransformAffine(X, a=c(1,5))) [,1] [,2] [1,] 0 0 [2,] 1 NA [3,] 2 2 [4,] 3 3 > > # Returns a 4x2 matrix > print(backtransformAffine(X, b=c(1,1/2))) [,1] [,2] [1,] 1 10 [2,] 2 NA [3,] 3 14 [4,] 4 16 > > # Returns a 4x2 matrix > print(backtransformAffine(X, a=matrix(1:4,ncol=1))) [,1] [,2] [1,] 0 4 [2,] 0 NA [3,] 0 4 [4,] 0 4 > > # Returns a 4x2 matrix > print(backtransformAffine(X, a=matrix(1:3,ncol=1))) [,1] [,2] [1,] 0 4 [2,] 0 NA [3,] 0 4 [4,] 3 7 > > # Returns a 4x2 matrix > print(backtransformAffine(X, a=matrix(1:2,ncol=1), b=c(1,2))) [,1] [,2] [1,] 0 2 [2,] 0 NA [3,] 2 3 [4,] 2 3 > > # Returns a 4x1 matrix > print(backtransformAffine(X, b=c(1,1/2), project=TRUE)) [,1] [1,] 2.8 [2,] 1.6 [3,] 5.2 [4,] 6.4 > > # If the columns of X are identical, and a identity > # backtransformation is applied and projected, the > # same matrix is returned. > X <- matrix(1:4, nrow=4, ncol=3) > Y <- backtransformAffine(X, b=c(1,1,1), project=TRUE) > print(X) [,1] [,2] [,3] [1,] 1 1 1 [2,] 2 2 2 [3,] 3 3 3 [4,] 4 4 4 > print(Y) [,1] [1,] 1 [2,] 2 [3,] 3 [4,] 4 > stopifnot(sum(X[,1]-Y) <= .Machine$double.eps) > > > # If the columns of X are identical, and a identity > # backtransformation is applied and projected, the > # same matrix is returned. > X <- matrix(1:4, nrow=4, ncol=3) > X[,2] <- X[,2]*2; X[,3] <- X[,3]*3 > print(X) [,1] [,2] [,3] [1,] 1 2 3 [2,] 2 4 6 [3,] 3 6 9 [4,] 4 8 12 > Y <- backtransformAffine(X, b=c(1,2,3)) > print(Y) [,1] [,2] [,3] [1,] 1 1 1 [2,] 2 2 2 [3,] 3 3 3 [4,] 4 4 4 > Y <- backtransformAffine(X, b=c(1,2,3), project=TRUE) > print(Y) [,1] [1,] 1 [2,] 2 [3,] 3 [4,] 4 > stopifnot(sum(X[,1]-Y) <= .Machine$double.eps) > > proc.time() user system elapsed 0.28 0.00 0.26 |
aroma.light.Rcheck/tests_x64/backtransformAffine.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > X <- matrix(1:8, nrow=4, ncol=2) > X[2,2] <- NA_integer_ > > print(X) [,1] [,2] [1,] 1 5 [2,] 2 NA [3,] 3 7 [4,] 4 8 > > # Returns a 4x2 matrix > print(backtransformAffine(X, a=c(1,5))) [,1] [,2] [1,] 0 0 [2,] 1 NA [3,] 2 2 [4,] 3 3 > > # Returns a 4x2 matrix > print(backtransformAffine(X, b=c(1,1/2))) [,1] [,2] [1,] 1 10 [2,] 2 NA [3,] 3 14 [4,] 4 16 > > # Returns a 4x2 matrix > print(backtransformAffine(X, a=matrix(1:4,ncol=1))) [,1] [,2] [1,] 0 4 [2,] 0 NA [3,] 0 4 [4,] 0 4 > > # Returns a 4x2 matrix > print(backtransformAffine(X, a=matrix(1:3,ncol=1))) [,1] [,2] [1,] 0 4 [2,] 0 NA [3,] 0 4 [4,] 3 7 > > # Returns a 4x2 matrix > print(backtransformAffine(X, a=matrix(1:2,ncol=1), b=c(1,2))) [,1] [,2] [1,] 0 2 [2,] 0 NA [3,] 2 3 [4,] 2 3 > > # Returns a 4x1 matrix > print(backtransformAffine(X, b=c(1,1/2), project=TRUE)) [,1] [1,] 2.8 [2,] 1.6 [3,] 5.2 [4,] 6.4 > > # If the columns of X are identical, and a identity > # backtransformation is applied and projected, the > # same matrix is returned. > X <- matrix(1:4, nrow=4, ncol=3) > Y <- backtransformAffine(X, b=c(1,1,1), project=TRUE) > print(X) [,1] [,2] [,3] [1,] 1 1 1 [2,] 2 2 2 [3,] 3 3 3 [4,] 4 4 4 > print(Y) [,1] [1,] 1 [2,] 2 [3,] 3 [4,] 4 > stopifnot(sum(X[,1]-Y) <= .Machine$double.eps) > > > # If the columns of X are identical, and a identity > # backtransformation is applied and projected, the > # same matrix is returned. > X <- matrix(1:4, nrow=4, ncol=3) > X[,2] <- X[,2]*2; X[,3] <- X[,3]*3 > print(X) [,1] [,2] [,3] [1,] 1 2 3 [2,] 2 4 6 [3,] 3 6 9 [4,] 4 8 12 > Y <- backtransformAffine(X, b=c(1,2,3)) > print(Y) [,1] [,2] [,3] [1,] 1 1 1 [2,] 2 2 2 [3,] 3 3 3 [4,] 4 4 4 > Y <- backtransformAffine(X, b=c(1,2,3), project=TRUE) > print(Y) [,1] [1,] 1 [2,] 2 [3,] 3 [4,] 4 > stopifnot(sum(X[,1]-Y) <= .Machine$double.eps) > > proc.time() user system elapsed 0.43 0.00 0.42 |
aroma.light.Rcheck/tests_i386/backtransformPrincipalCurve.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Consider the case where K=4 measurements have been done > # for the same underlying signals 'x'. The different measurements > # have different systematic variation > # > # y_k = f(x_k) + eps_k; k = 1,...,K. > # > # In this example, we assume non-linear measurement functions > # > # f(x) = a + b*x + x^c + eps(b*x) > # > # where 'a' is an offset, 'b' a scale factor, and 'c' an exponential. > # We also assume heteroscedastic zero-mean noise with standard > # deviation proportional to the rescaled underlying signal 'x'. > # > # Furthermore, we assume that measurements k=2 and k=3 undergo the > # same transformation, which may illustrate that the come from > # the same batch. However, when *fitting* the model below we > # will assume they are independent. > > # Transforms > a <- c(2, 15, 15, 3) > b <- c(2, 3, 3, 4) > c <- c(1, 2, 2, 1/2) > K <- length(a) > > # The true signal > N <- 1000 > x <- rexp(N) > > # The noise > bX <- outer(b,x) > E <- apply(bX, MARGIN=2, FUN=function(x) rnorm(K, mean=0, sd=0.1*x)) > > # The transformed signals with noise > Xc <- t(sapply(c, FUN=function(c) x^c)) > Y <- a + bX + Xc + E > Y <- t(Y) > > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Fit principal curve > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Fit principal curve through Y = (y_1, y_2, ..., y_K) > fit <- fitPrincipalCurve(Y) > > # Flip direction of 'lambda'? > rho <- cor(fit$lambda, Y[,1], use="complete.obs") > flip <- (rho < 0) > if (flip) { + fit$lambda <- max(fit$lambda, na.rm=TRUE)-fit$lambda + } > > L <- ncol(fit$s) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Backtransform data according to model fit > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Backtransform toward the principal curve (the "common scale") > YN1 <- backtransformPrincipalCurve(Y, fit=fit) > stopifnot(ncol(YN1) == K) > > > # Backtransform toward the first dimension > YN2 <- backtransformPrincipalCurve(Y, fit=fit, targetDimension=1) > stopifnot(ncol(YN2) == K) > > > # Backtransform toward the last (fitted) dimension > YN3 <- backtransformPrincipalCurve(Y, fit=fit, targetDimension=L) > stopifnot(ncol(YN3) == K) > > > # Backtransform toward the third dimension (dimension by dimension) > # Note, this assumes that K == L. > YN4 <- Y > for (cc in 1:L) { + YN4[,cc] <- backtransformPrincipalCurve(Y, fit=fit, + targetDimension=1, dimensions=cc) + } > stopifnot(identical(YN4, YN2)) > > > # Backtransform a subset toward the first dimension > # Note, this assumes that K == L. > YN5 <- backtransformPrincipalCurve(Y, fit=fit, + targetDimension=1, dimensions=2:3) > stopifnot(identical(YN5, YN2[,2:3])) > stopifnot(ncol(YN5) == 2) > > > # Extract signals from measurement #2 and backtransform according > # its model fit. Signals are standardized to target dimension 1. > y6 <- Y[,2,drop=FALSE] > yN6 <- backtransformPrincipalCurve(y6, fit=fit, dimensions=2, + targetDimension=1) > stopifnot(identical(yN6, YN2[,2,drop=FALSE])) > stopifnot(ncol(yN6) == 1) > > > # Extract signals from measurement #2 and backtransform according > # the the model fit of measurement #3 (because we believe these > # two have undergone very similar transformations. > # Signals are standardized to target dimension 1. > y7 <- Y[,2,drop=FALSE] > yN7 <- backtransformPrincipalCurve(y7, fit=fit, dimensions=3, + targetDimension=1) > stopifnot(ncol(yN7) == 1) > > rho <- cor(yN7, yN6) > print(rho) [,1] [1,] 0.9999906 > stopifnot(rho > 0.999) > > proc.time() user system elapsed 1.04 0.07 1.11 |
aroma.light.Rcheck/tests_x64/backtransformPrincipalCurve.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Consider the case where K=4 measurements have been done > # for the same underlying signals 'x'. The different measurements > # have different systematic variation > # > # y_k = f(x_k) + eps_k; k = 1,...,K. > # > # In this example, we assume non-linear measurement functions > # > # f(x) = a + b*x + x^c + eps(b*x) > # > # where 'a' is an offset, 'b' a scale factor, and 'c' an exponential. > # We also assume heteroscedastic zero-mean noise with standard > # deviation proportional to the rescaled underlying signal 'x'. > # > # Furthermore, we assume that measurements k=2 and k=3 undergo the > # same transformation, which may illustrate that the come from > # the same batch. However, when *fitting* the model below we > # will assume they are independent. > > # Transforms > a <- c(2, 15, 15, 3) > b <- c(2, 3, 3, 4) > c <- c(1, 2, 2, 1/2) > K <- length(a) > > # The true signal > N <- 1000 > x <- rexp(N) > > # The noise > bX <- outer(b,x) > E <- apply(bX, MARGIN=2, FUN=function(x) rnorm(K, mean=0, sd=0.1*x)) > > # The transformed signals with noise > Xc <- t(sapply(c, FUN=function(c) x^c)) > Y <- a + bX + Xc + E > Y <- t(Y) > > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Fit principal curve > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Fit principal curve through Y = (y_1, y_2, ..., y_K) > fit <- fitPrincipalCurve(Y) > > # Flip direction of 'lambda'? > rho <- cor(fit$lambda, Y[,1], use="complete.obs") > flip <- (rho < 0) > if (flip) { + fit$lambda <- max(fit$lambda, na.rm=TRUE)-fit$lambda + } > > L <- ncol(fit$s) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Backtransform data according to model fit > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Backtransform toward the principal curve (the "common scale") > YN1 <- backtransformPrincipalCurve(Y, fit=fit) > stopifnot(ncol(YN1) == K) > > > # Backtransform toward the first dimension > YN2 <- backtransformPrincipalCurve(Y, fit=fit, targetDimension=1) > stopifnot(ncol(YN2) == K) > > > # Backtransform toward the last (fitted) dimension > YN3 <- backtransformPrincipalCurve(Y, fit=fit, targetDimension=L) > stopifnot(ncol(YN3) == K) > > > # Backtransform toward the third dimension (dimension by dimension) > # Note, this assumes that K == L. > YN4 <- Y > for (cc in 1:L) { + YN4[,cc] <- backtransformPrincipalCurve(Y, fit=fit, + targetDimension=1, dimensions=cc) + } > stopifnot(identical(YN4, YN2)) > > > # Backtransform a subset toward the first dimension > # Note, this assumes that K == L. > YN5 <- backtransformPrincipalCurve(Y, fit=fit, + targetDimension=1, dimensions=2:3) > stopifnot(identical(YN5, YN2[,2:3])) > stopifnot(ncol(YN5) == 2) > > > # Extract signals from measurement #2 and backtransform according > # its model fit. Signals are standardized to target dimension 1. > y6 <- Y[,2,drop=FALSE] > yN6 <- backtransformPrincipalCurve(y6, fit=fit, dimensions=2, + targetDimension=1) > stopifnot(identical(yN6, YN2[,2,drop=FALSE])) > stopifnot(ncol(yN6) == 1) > > > # Extract signals from measurement #2 and backtransform according > # the the model fit of measurement #3 (because we believe these > # two have undergone very similar transformations. > # Signals are standardized to target dimension 1. > y7 <- Y[,2,drop=FALSE] > yN7 <- backtransformPrincipalCurve(y7, fit=fit, dimensions=3, + targetDimension=1) > stopifnot(ncol(yN7) == 1) > > rho <- cor(yN7, yN6) > print(rho) [,1] [1,] 0.9999974 > stopifnot(rho > 0.999) > > proc.time() user system elapsed 0.96 0.07 1.03 |
aroma.light.Rcheck/tests_i386/callNaiveGenotypes.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > layout(matrix(1:3, ncol=1)) > par(mar=c(2,4,4,1)+0.1) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A bimodal distribution > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > xAA <- rnorm(n=10000, mean=0, sd=0.1) > xBB <- rnorm(n=10000, mean=1, sd=0.1) > x <- c(xAA,xBB) > fit <- findPeaksAndValleys(x) > print(fit) type x density 1 peak -0.004891874 1.6925689852 2 valley 0.494853480 0.0005041447 3 peak 0.999060846 1.6834263929 > calls <- callNaiveGenotypes(x, cn=rep(1,length(x)), verbose=-20) Calling genotypes from allele B fractions (BAFs)... Fitting naive genotype model... Fitting naive genotype model from normal allele B fractions (BAFs)... Flavor: density Censoring BAFs... Before: Min. 1st Qu. Median Mean 3rd Qu. Max. -0.4217586 0.0001924 0.4797384 0.4999045 0.9997610 1.4783958 [1] 20000 After: Min. 1st Qu. Median Mean 3rd Qu. Max. -Inf 0.0001924 0.4797384 0.9997610 Inf [1] 16861 Censoring BAFs...done Copy number level #1 (C=1) of 1... Identified extreme points in density of BAF: type x density 1 peak 0.01458036 1.639823591 2 valley 0.49486205 0.004413929 3 peak 0.98200491 1.632494171 Local minimas ("valleys") in BAF: type x density 2 valley 0.494862 0.004413929 Copy number level #1 (C=1) of 1...done Fitting naive genotype model from normal allele B fractions (BAFs)...done [[1]] [[1]]$flavor [1] "density" [[1]]$cn [1] 1 [[1]]$nbrOfGenotypeGroups [1] 2 [[1]]$tau [1] 0.494862 [[1]]$n [1] 16861 [[1]]$fit type x density 1 peak 0.01458036 1.639823591 2 valley 0.49486205 0.004413929 3 peak 0.98200491 1.632494171 [[1]]$fitValleys type x density 2 valley 0.494862 0.004413929 attr(,"class") [1] "NaiveGenotypeModelFit" "list" Fitting naive genotype model...done Copy number level #1 (C=1) of 1... Model fit: $flavor [1] "density" $cn [1] 1 $nbrOfGenotypeGroups [1] 2 $tau [1] 0.494862 $n [1] 16861 $fit type x density 1 peak 0.01458036 1.639823591 2 valley 0.49486205 0.004413929 3 peak 0.98200491 1.632494171 $fitValleys type x density 2 valley 0.494862 0.004413929 Genotype threshholds [1]: 0.494862047915947 TCN=1 => BAF in {0,1}. Call regions: A = (-Inf,0.495], B = (0.495,+Inf) Copy number level #1 (C=1) of 1...done Calling genotypes from allele B fractions (BAFs)...done > xc <- split(x, calls) > print(table(calls)) calls 0 1 10000 10000 > xx <- c(list(x),xc) > plotDensity(xx, adjust=1.5, lwd=2, col=seq_along(xx), main="(AA,BB)") > abline(v=fit$x) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A trimodal distribution with missing values > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > xAB <- rnorm(n=10000, mean=1/2, sd=0.1) > x <- c(xAA,xAB,xBB) > x[sample(length(x), size=0.05*length(x))] <- NA_real_ > x[sample(length(x), size=0.01*length(x))] <- -Inf > x[sample(length(x), size=0.01*length(x))] <- +Inf > fit <- findPeaksAndValleys(x) > print(fit) type x density 1 peak -0.005986989 1.1740557 2 valley 0.242926444 0.1877290 3 peak 0.496131489 1.1808552 4 valley 0.749336533 0.1884526 5 peak 0.998249966 1.1685049 > calls <- callNaiveGenotypes(x) > xc <- split(x, calls) > print(table(calls)) calls 0 0.5 1 9553 9359 9616 > xx <- c(list(x),xc) > plotDensity(xx, adjust=1.5, lwd=2, col=seq_along(xx), main="(AA,AB,BB)") > abline(v=fit$x) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A trimodal distribution with clear separation > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > xAA <- rnorm(n=10000, mean=0, sd=0.02) > xAB <- rnorm(n=10000, mean=1/2, sd=0.02) > xBB <- rnorm(n=10000, mean=1, sd=0.02) > x <- c(xAA,xAB,xBB) > fit <- findPeaksAndValleys(x) > print(fit) type x density 1 peak -0.001691584 2.6122564111 2 valley 0.247946922 0.0000314662 3 peak 0.497585428 2.6102305529 4 valley 0.747223934 0.0000309211 5 peak 0.996862440 2.6095515729 > calls <- callNaiveGenotypes(x) > xc <- split(x, calls) > print(table(calls)) calls 0 0.5 1 10000 10000 10000 > xx <- c(list(x),xc) > plotDensity(xx, adjust=1.5, lwd=2, col=seq_along(xx), main="(AA',AB',BB')") > abline(v=fit$x) > > proc.time() user system elapsed 0.81 0.06 0.87 |
aroma.light.Rcheck/tests_x64/callNaiveGenotypes.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > layout(matrix(1:3, ncol=1)) > par(mar=c(2,4,4,1)+0.1) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A bimodal distribution > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > xAA <- rnorm(n=10000, mean=0, sd=0.1) > xBB <- rnorm(n=10000, mean=1, sd=0.1) > x <- c(xAA,xBB) > fit <- findPeaksAndValleys(x) > print(fit) type x density 1 peak -0.00784613 1.6636195767 2 valley 0.49318230 0.0007433767 3 peak 0.99421073 1.6740915979 > calls <- callNaiveGenotypes(x, cn=rep(1,length(x)), verbose=-20) Calling genotypes from allele B fractions (BAFs)... Fitting naive genotype model... Fitting naive genotype model from normal allele B fractions (BAFs)... Flavor: density Censoring BAFs... Before: Min. 1st Qu. Median Mean 3rd Qu. Max. -0.3558662 -0.0004826 0.4719807 0.4998425 0.9979134 1.3463042 [1] 20000 After: Min. 1st Qu. Median Mean 3rd Qu. Max. -Inf -0.0004826 0.4719807 0.9979134 Inf [1] 16837 Censoring BAFs...done Copy number level #1 (C=1) of 1... Identified extreme points in density of BAF: type x density 1 peak 0.01489491 1.623068022 2 valley 0.49481174 0.004832494 3 peak 0.97815656 1.634069104 Local minimas ("valleys") in BAF: type x density 2 valley 0.4948117 0.004832494 Copy number level #1 (C=1) of 1...done Fitting naive genotype model from normal allele B fractions (BAFs)...done [[1]] [[1]]$flavor [1] "density" [[1]]$cn [1] 1 [[1]]$nbrOfGenotypeGroups [1] 2 [[1]]$tau [1] 0.4948117 [[1]]$n [1] 16837 [[1]]$fit type x density 1 peak 0.01489491 1.623068022 2 valley 0.49481174 0.004832494 3 peak 0.97815656 1.634069104 [[1]]$fitValleys type x density 2 valley 0.4948117 0.004832494 attr(,"class") [1] "NaiveGenotypeModelFit" "list" Fitting naive genotype model...done Copy number level #1 (C=1) of 1... Model fit: $flavor [1] "density" $cn [1] 1 $nbrOfGenotypeGroups [1] 2 $tau [1] 0.4948117 $n [1] 16837 $fit type x density 1 peak 0.01489491 1.623068022 2 valley 0.49481174 0.004832494 3 peak 0.97815656 1.634069104 $fitValleys type x density 2 valley 0.4948117 0.004832494 Genotype threshholds [1]: 0.494811744159482 TCN=1 => BAF in {0,1}. Call regions: A = (-Inf,0.495], B = (0.495,+Inf) Copy number level #1 (C=1) of 1...done Calling genotypes from allele B fractions (BAFs)...done > xc <- split(x, calls) > print(table(calls)) calls 0 1 10000 10000 > xx <- c(list(x),xc) > plotDensity(xx, adjust=1.5, lwd=2, col=seq_along(xx), main="(AA,BB)") > abline(v=fit$x) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A trimodal distribution with missing values > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > xAB <- rnorm(n=10000, mean=1/2, sd=0.1) > x <- c(xAA,xAB,xBB) > x[sample(length(x), size=0.05*length(x))] <- NA_real_ > x[sample(length(x), size=0.01*length(x))] <- -Inf > x[sample(length(x), size=0.01*length(x))] <- +Inf > fit <- findPeaksAndValleys(x) > print(fit) type x density 1 peak -0.006332722 1.1515500 2 valley 0.247370484 0.1891971 3 peak 0.497170563 1.1685644 4 valley 0.746970643 0.1934785 5 peak 0.992867596 1.1616954 > calls <- callNaiveGenotypes(x) > xc <- split(x, calls) > print(table(calls)) calls 0 0.5 1 9566 9336 9627 > xx <- c(list(x),xc) > plotDensity(xx, adjust=1.5, lwd=2, col=seq_along(xx), main="(AA,AB,BB)") > abline(v=fit$x) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A trimodal distribution with clear separation > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > xAA <- rnorm(n=10000, mean=0, sd=0.02) > xAB <- rnorm(n=10000, mean=1/2, sd=0.02) > xBB <- rnorm(n=10000, mean=1, sd=0.02) > x <- c(xAA,xAB,xBB) > fit <- findPeaksAndValleys(x) > print(fit) type x density 1 peak -0.002268799 2.607566e+00 2 valley 0.247411224 3.167315e-05 3 peak 0.497091246 2.607744e+00 4 valley 0.746771268 3.213363e-05 5 peak 0.996451291 2.600178e+00 > calls <- callNaiveGenotypes(x) > xc <- split(x, calls) > print(table(calls)) calls 0 0.5 1 10000 10000 10000 > xx <- c(list(x),xc) > plotDensity(xx, adjust=1.5, lwd=2, col=seq_along(xx), main="(AA',AB',BB')") > abline(v=fit$x) > > proc.time() user system elapsed 0.96 0.09 1.04 |
aroma.light.Rcheck/tests_i386/distanceBetweenLines.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > for (zzz in 0) { + + # This example requires plot3d() in R.basic [http://www.braju.com/R/] + if (!require(pkgName <- "R.basic", character.only=TRUE)) break + + layout(matrix(1:4, nrow=2, ncol=2, byrow=TRUE)) + + ############################################################ + # Lines in two-dimensions + ############################################################ + x <- list(a=c(1,0), b=c(1,2)) + y <- list(a=c(0,2), b=c(1,1)) + fit <- distanceBetweenLines(ax=x$a, bx=x$b, ay=y$a, by=y$b) + + xlim <- ylim <- c(-1,8) + plot(NA, xlab="", ylab="", xlim=ylim, ylim=ylim) + + # Highlight the offset coordinates for both lines + points(t(x$a), pch="+", col="red") + text(t(x$a), label=expression(a[x]), adj=c(-1,0.5)) + points(t(y$a), pch="+", col="blue") + text(t(y$a), label=expression(a[y]), adj=c(-1,0.5)) + + v <- c(-1,1)*10 + xv <- list(x=x$a[1]+x$b[1]*v, y=x$a[2]+x$b[2]*v) + yv <- list(x=y$a[1]+y$b[1]*v, y=y$a[2]+y$b[2]*v) + + lines(xv, col="red") + lines(yv, col="blue") + + points(t(fit$xs), cex=2.0, col="red") + text(t(fit$xs), label=expression(x(s)), adj=c(+2,0.5)) + points(t(fit$yt), cex=1.5, col="blue") + text(t(fit$yt), label=expression(y(t)), adj=c(-1,0.5)) + print(fit) + + + ############################################################ + # Lines in three-dimensions + ############################################################ + x <- list(a=c(0,0,0), b=c(1,1,1)) # The 'diagonal' + y <- list(a=c(2,1,2), b=c(2,1,3)) # A 'fitted' line + fit <- distanceBetweenLines(ax=x$a, bx=x$b, ay=y$a, by=y$b) + + xlim <- ylim <- zlim <- c(-1,3) + dummy <- t(c(1,1,1))*100 + + # Coordinates for the lines in 3d + v <- seq(-10,10, by=1) + xv <- list(x=x$a[1]+x$b[1]*v, y=x$a[2]+x$b[2]*v, z=x$a[3]+x$b[3]*v) + yv <- list(x=y$a[1]+y$b[1]*v, y=y$a[2]+y$b[2]*v, z=y$a[3]+y$b[3]*v) + + for (theta in seq(30,140,length.out=3)) { + plot3d(dummy, theta=theta, phi=30, xlab="", ylab="", zlab="", + xlim=ylim, ylim=ylim, zlim=zlim) + + # Highlight the offset coordinates for both lines + points3d(t(x$a), pch="+", col="red") + text3d(t(x$a), label=expression(a[x]), adj=c(-1,0.5)) + points3d(t(y$a), pch="+", col="blue") + text3d(t(y$a), label=expression(a[y]), adj=c(-1,0.5)) + + # Draw the lines + lines3d(xv, col="red") + lines3d(yv, col="blue") + + # Draw the two points that are closest to each other + points3d(t(fit$xs), cex=2.0, col="red") + text3d(t(fit$xs), label=expression(x(s)), adj=c(+2,0.5)) + points3d(t(fit$yt), cex=1.5, col="blue") + text3d(t(fit$yt), label=expression(y(t)), adj=c(-1,0.5)) + + # Draw the distance between the two points + lines3d(rbind(fit$xs,fit$yt), col="purple", lwd=2) + } + + print(fit) + + } # for (zzz in 0) Loading required package: R.basic Warning message: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package called 'R.basic' > rm(zzz) > > proc.time() user system elapsed 0.57 0.07 0.64 |
aroma.light.Rcheck/tests_x64/distanceBetweenLines.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > for (zzz in 0) { + + # This example requires plot3d() in R.basic [http://www.braju.com/R/] + if (!require(pkgName <- "R.basic", character.only=TRUE)) break + + layout(matrix(1:4, nrow=2, ncol=2, byrow=TRUE)) + + ############################################################ + # Lines in two-dimensions + ############################################################ + x <- list(a=c(1,0), b=c(1,2)) + y <- list(a=c(0,2), b=c(1,1)) + fit <- distanceBetweenLines(ax=x$a, bx=x$b, ay=y$a, by=y$b) + + xlim <- ylim <- c(-1,8) + plot(NA, xlab="", ylab="", xlim=ylim, ylim=ylim) + + # Highlight the offset coordinates for both lines + points(t(x$a), pch="+", col="red") + text(t(x$a), label=expression(a[x]), adj=c(-1,0.5)) + points(t(y$a), pch="+", col="blue") + text(t(y$a), label=expression(a[y]), adj=c(-1,0.5)) + + v <- c(-1,1)*10 + xv <- list(x=x$a[1]+x$b[1]*v, y=x$a[2]+x$b[2]*v) + yv <- list(x=y$a[1]+y$b[1]*v, y=y$a[2]+y$b[2]*v) + + lines(xv, col="red") + lines(yv, col="blue") + + points(t(fit$xs), cex=2.0, col="red") + text(t(fit$xs), label=expression(x(s)), adj=c(+2,0.5)) + points(t(fit$yt), cex=1.5, col="blue") + text(t(fit$yt), label=expression(y(t)), adj=c(-1,0.5)) + print(fit) + + + ############################################################ + # Lines in three-dimensions + ############################################################ + x <- list(a=c(0,0,0), b=c(1,1,1)) # The 'diagonal' + y <- list(a=c(2,1,2), b=c(2,1,3)) # A 'fitted' line + fit <- distanceBetweenLines(ax=x$a, bx=x$b, ay=y$a, by=y$b) + + xlim <- ylim <- zlim <- c(-1,3) + dummy <- t(c(1,1,1))*100 + + # Coordinates for the lines in 3d + v <- seq(-10,10, by=1) + xv <- list(x=x$a[1]+x$b[1]*v, y=x$a[2]+x$b[2]*v, z=x$a[3]+x$b[3]*v) + yv <- list(x=y$a[1]+y$b[1]*v, y=y$a[2]+y$b[2]*v, z=y$a[3]+y$b[3]*v) + + for (theta in seq(30,140,length.out=3)) { + plot3d(dummy, theta=theta, phi=30, xlab="", ylab="", zlab="", + xlim=ylim, ylim=ylim, zlim=zlim) + + # Highlight the offset coordinates for both lines + points3d(t(x$a), pch="+", col="red") + text3d(t(x$a), label=expression(a[x]), adj=c(-1,0.5)) + points3d(t(y$a), pch="+", col="blue") + text3d(t(y$a), label=expression(a[y]), adj=c(-1,0.5)) + + # Draw the lines + lines3d(xv, col="red") + lines3d(yv, col="blue") + + # Draw the two points that are closest to each other + points3d(t(fit$xs), cex=2.0, col="red") + text3d(t(fit$xs), label=expression(x(s)), adj=c(+2,0.5)) + points3d(t(fit$yt), cex=1.5, col="blue") + text3d(t(fit$yt), label=expression(y(t)), adj=c(-1,0.5)) + + # Draw the distance between the two points + lines3d(rbind(fit$xs,fit$yt), col="purple", lwd=2) + } + + print(fit) + + } # for (zzz in 0) Loading required package: R.basic Warning message: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package called 'R.basic' > rm(zzz) > > proc.time() user system elapsed 0.32 0.06 0.37 |
aroma.light.Rcheck/tests_i386/findPeaksAndValleys.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > layout(matrix(1:3, ncol=1)) > par(mar=c(2,4,4,1)+0.1) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A unimodal distribution > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > x1 <- rnorm(n=10000, mean=0, sd=1) > x <- x1 > fit <- findPeaksAndValleys(x) > print(fit) type x density 1 peak 0.05190271 0.4007092 > plot(density(x), lwd=2, main="x1") > abline(v=fit$x) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A trimodal distribution > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > x2 <- rnorm(n=10000, mean=4, sd=1) > x3 <- rnorm(n=10000, mean=8, sd=1) > x <- c(x1,x2,x3) > fit <- findPeaksAndValleys(x) > print(fit) type x density 1 peak -0.0558308 0.12462636 2 valley 1.9344302 0.04364532 3 peak 3.9933209 0.12342732 4 valley 5.9835819 0.04374852 5 peak 7.9738429 0.12326726 > plot(density(x), lwd=2, main="c(x1,x2,x3)") > abline(v=fit$x) > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A trimodal distribution with clear separation > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > x1b <- rnorm(n=10000, mean=0, sd=0.1) > x2b <- rnorm(n=10000, mean=4, sd=0.1) > x3b <- rnorm(n=10000, mean=8, sd=0.1) > x <- c(x1b,x2b,x3b) > > # Illustrating explicit usage of density() > d <- density(x) > fit <- findPeaksAndValleys(d, tol=0) > print(fit) type x density 1 peak -0.02860716 3.422664e-01 2 valley 1.98173055 1.181293e-06 3 peak 3.97045173 3.419287e-01 4 valley 5.98078944 1.217055e-06 5 peak 7.96951061 3.420115e-01 > plot(d, lwd=2, main="c(x1b,x2b,x3b)") > abline(v=fit$x) > > proc.time() user system elapsed 0.35 0.01 0.35 |
aroma.light.Rcheck/tests_x64/findPeaksAndValleys.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > layout(matrix(1:3, ncol=1)) > par(mar=c(2,4,4,1)+0.1) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A unimodal distribution > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > x1 <- rnorm(n=10000, mean=0, sd=1) > x <- x1 > fit <- findPeaksAndValleys(x) > print(fit) type x density 1 peak -3.73376554 0.0005341349 2 valley -3.57251106 0.0004293963 3 peak -0.04103806 0.3988670014 > plot(density(x), lwd=2, main="x1") > abline(v=fit$x) > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A trimodal distribution > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > x2 <- rnorm(n=10000, mean=4, sd=1) > x3 <- rnorm(n=10000, mean=8, sd=1) > x <- c(x1,x2,x3) > fit <- findPeaksAndValleys(x) > print(fit) type x density 1 peak -0.041153 0.12548555 2 valley 1.970329 0.04296034 3 peak 3.981810 0.12709953 4 valley 5.959199 0.04452387 5 peak 7.970681 0.12506712 > plot(density(x), lwd=2, main="c(x1,x2,x3)") > abline(v=fit$x) > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # A trimodal distribution with clear separation > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - > x1b <- rnorm(n=10000, mean=0, sd=0.1) > x2b <- rnorm(n=10000, mean=4, sd=0.1) > x3b <- rnorm(n=10000, mean=8, sd=0.1) > x <- c(x1b,x2b,x3b) > > # Illustrating explicit usage of density() > d <- density(x) > fit <- findPeaksAndValleys(d, tol=0) > print(fit) type x density 1 peak -0.03477643 3.420282e-01 2 valley 1.96859820 1.243793e-06 3 peak 3.97197284 3.421782e-01 4 valley 5.97534748 1.222916e-06 5 peak 7.97872212 3.424286e-01 > plot(d, lwd=2, main="c(x1b,x2b,x3b)") > abline(v=fit$x) > > proc.time() user system elapsed 0.53 0.06 0.57 |
aroma.light.Rcheck/tests_i386/fitPrincipalCurve.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate data from the model y <- a + bx + x^c + eps(bx) > J <- 1000 > x <- rexp(J) > a <- c(2,15,3) > b <- c(2,3,4) > c <- c(1,2,1/2) > bx <- outer(b,x) > xc <- t(sapply(c, FUN=function(c) x^c)) > eps <- apply(bx, MARGIN=2, FUN=function(x) rnorm(length(b), mean=0, sd=0.1*x)) > y <- a + bx + xc + eps > y <- t(y) > > # Fit principal curve through (y_1, y_2, y_3) > fit <- fitPrincipalCurve(y, verbose=TRUE) Fitting principal curve... Data size: 1000x3 Identifying missing values... Identifying missing values...done Data size after removing non-finite data points: 1000x3 Calling principal_curve()... Starting curve---distance^2: 1496344 Iteration 1---distance^2: 332.6011 Iteration 2---distance^2: 332.1966 Iteration 3---distance^2: 332.2002 Converged: TRUE Number of iterations: 3 Processing time/iteration: 0.3s (0.1s/iteration) Calling principal_curve()...done Fitting principal curve...done > > # Flip direction of 'lambda'? > rho <- cor(fit$lambda, y[,1], use="complete.obs") > flip <- (rho < 0) > if (flip) { + fit$lambda <- max(fit$lambda, na.rm=TRUE)-fit$lambda + } > > > # Backtransform (y_1, y_2, y_3) to be proportional to each other > yN <- backtransformPrincipalCurve(y, fit=fit) > > # Same backtransformation dimension by dimension > yN2 <- y > for (cc in 1:ncol(y)) { + yN2[,cc] <- backtransformPrincipalCurve(y, fit=fit, dimensions=cc) + } > stopifnot(identical(yN2, yN)) > > > xlim <- c(0, 1.04*max(x)) > ylim <- range(c(y,yN), na.rm=TRUE) > > > # Pairwise signals vs x before and after transform > layout(matrix(1:4, nrow=2, byrow=TRUE)) > par(mar=c(4,4,3,2)+0.1) > for (cc in 1:3) { + ylab <- substitute(y[c], env=list(c=cc)) + plot(NA, xlim=xlim, ylim=ylim, xlab="x", ylab=ylab) + abline(h=a[cc], lty=3) + mtext(side=4, at=a[cc], sprintf("a=%g", a[cc]), + cex=0.8, las=2, line=0, adj=1.1, padj=-0.2) + points(x, y[,cc]) + points(x, yN[,cc], col="tomato") + legend("topleft", col=c("black", "tomato"), pch=19, + c("orignal", "transformed"), bty="n") + } > title(main="Pairwise signals vs x before and after transform", outer=TRUE, line=-2) > > > # Pairwise signals before and after transform > layout(matrix(1:4, nrow=2, byrow=TRUE)) > par(mar=c(4,4,3,2)+0.1) > for (rr in 3:2) { + ylab <- substitute(y[c], env=list(c=rr)) + for (cc in 1:2) { + if (cc == rr) { + plot.new() + next + } + xlab <- substitute(y[c], env=list(c=cc)) + plot(NA, xlim=ylim, ylim=ylim, xlab=xlab, ylab=ylab) + abline(a=0, b=1, lty=2) + points(y[,c(cc,rr)]) + points(yN[,c(cc,rr)], col="tomato") + legend("topleft", col=c("black", "tomato"), pch=19, + c("orignal", "transformed"), bty="n") + } + } > title(main="Pairwise signals before and after transform", outer=TRUE, line=-2) > > proc.time() user system elapsed 1.32 0.07 1.39 |
aroma.light.Rcheck/tests_x64/fitPrincipalCurve.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate data from the model y <- a + bx + x^c + eps(bx) > J <- 1000 > x <- rexp(J) > a <- c(2,15,3) > b <- c(2,3,4) > c <- c(1,2,1/2) > bx <- outer(b,x) > xc <- t(sapply(c, FUN=function(c) x^c)) > eps <- apply(bx, MARGIN=2, FUN=function(x) rnorm(length(b), mean=0, sd=0.1*x)) > y <- a + bx + xc + eps > y <- t(y) > > # Fit principal curve through (y_1, y_2, y_3) > fit <- fitPrincipalCurve(y, verbose=TRUE) Fitting principal curve... Data size: 1000x3 Identifying missing values... Identifying missing values...done Data size after removing non-finite data points: 1000x3 Calling principal_curve()... Starting curve---distance^2: 2372091 Iteration 1---distance^2: 433.5845 Iteration 2---distance^2: 432.4648 Iteration 3---distance^2: 432.4676 Converged: TRUE Number of iterations: 3 Processing time/iteration: 0.1s (0.0s/iteration) Calling principal_curve()...done Fitting principal curve...done > > # Flip direction of 'lambda'? > rho <- cor(fit$lambda, y[,1], use="complete.obs") > flip <- (rho < 0) > if (flip) { + fit$lambda <- max(fit$lambda, na.rm=TRUE)-fit$lambda + } > > > # Backtransform (y_1, y_2, y_3) to be proportional to each other > yN <- backtransformPrincipalCurve(y, fit=fit) > > # Same backtransformation dimension by dimension > yN2 <- y > for (cc in 1:ncol(y)) { + yN2[,cc] <- backtransformPrincipalCurve(y, fit=fit, dimensions=cc) + } > stopifnot(identical(yN2, yN)) > > > xlim <- c(0, 1.04*max(x)) > ylim <- range(c(y,yN), na.rm=TRUE) > > > # Pairwise signals vs x before and after transform > layout(matrix(1:4, nrow=2, byrow=TRUE)) > par(mar=c(4,4,3,2)+0.1) > for (cc in 1:3) { + ylab <- substitute(y[c], env=list(c=cc)) + plot(NA, xlim=xlim, ylim=ylim, xlab="x", ylab=ylab) + abline(h=a[cc], lty=3) + mtext(side=4, at=a[cc], sprintf("a=%g", a[cc]), + cex=0.8, las=2, line=0, adj=1.1, padj=-0.2) + points(x, y[,cc]) + points(x, yN[,cc], col="tomato") + legend("topleft", col=c("black", "tomato"), pch=19, + c("orignal", "transformed"), bty="n") + } > title(main="Pairwise signals vs x before and after transform", outer=TRUE, line=-2) > > > # Pairwise signals before and after transform > layout(matrix(1:4, nrow=2, byrow=TRUE)) > par(mar=c(4,4,3,2)+0.1) > for (rr in 3:2) { + ylab <- substitute(y[c], env=list(c=rr)) + for (cc in 1:2) { + if (cc == rr) { + plot.new() + next + } + xlab <- substitute(y[c], env=list(c=cc)) + plot(NA, xlim=ylim, ylim=ylim, xlab=xlab, ylab=ylab) + abline(a=0, b=1, lty=2) + points(y[,c(cc,rr)]) + points(yN[,c(cc,rr)], col="tomato") + legend("topleft", col=c("black", "tomato"), pch=19, + c("orignal", "transformed"), bty="n") + } + } > title(main="Pairwise signals before and after transform", outer=TRUE, line=-2) > > proc.time() user system elapsed 0.96 0.09 1.04 |
aroma.light.Rcheck/tests_i386/fitXYCurve.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate data from the model y <- a + bx + x^c + eps(bx) > x <- rexp(1000) > a <- c(2,15) > b <- c(2,1) > c <- c(1,2) > bx <- outer(b,x) > xc <- t(sapply(c, FUN=function(c) x^c)) > eps <- apply(bx, MARGIN=2, FUN=function(x) rnorm(length(x), mean=0, sd=0.1*x)) > Y <- a + bx + xc + eps > Y <- t(Y) > > lim <- c(0,70) > plot(Y, xlim=lim, ylim=lim) > > # Fit principal curve through a subset of (y_1, y_2) > subset <- sample(nrow(Y), size=0.3*nrow(Y)) > fit <- fitXYCurve(Y[subset,], bandwidth=0.2) > > lines(fit, col="red", lwd=2) > > # Backtransform (y_1, y_2) keeping y_1 unchanged > YN <- backtransformXYCurve(Y, fit=fit) > points(YN, col="blue") > abline(a=0, b=1, col="red", lwd=2) > > proc.time() user system elapsed 0.62 0.01 0.61 |
aroma.light.Rcheck/tests_x64/fitXYCurve.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate data from the model y <- a + bx + x^c + eps(bx) > x <- rexp(1000) > a <- c(2,15) > b <- c(2,1) > c <- c(1,2) > bx <- outer(b,x) > xc <- t(sapply(c, FUN=function(c) x^c)) > eps <- apply(bx, MARGIN=2, FUN=function(x) rnorm(length(x), mean=0, sd=0.1*x)) > Y <- a + bx + xc + eps > Y <- t(Y) > > lim <- c(0,70) > plot(Y, xlim=lim, ylim=lim) > > # Fit principal curve through a subset of (y_1, y_2) > subset <- sample(nrow(Y), size=0.3*nrow(Y)) > fit <- fitXYCurve(Y[subset,], bandwidth=0.2) > > lines(fit, col="red", lwd=2) > > # Backtransform (y_1, y_2) keeping y_1 unchanged > YN <- backtransformXYCurve(Y, fit=fit) > points(YN, col="blue") > abline(a=0, b=1, col="red", lwd=2) > > proc.time() user system elapsed 0.32 0.06 0.37 |
aroma.light.Rcheck/tests_i386/iwpca.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > for (zzz in 0) { + + # This example requires plot3d() in R.basic [http://www.braju.com/R/] + if (!require(pkgName <- "R.basic", character.only=TRUE)) break + + # Simulate data from the model y <- a + bx + eps(bx) + x <- rexp(1000) + a <- c(2,15,3) + b <- c(2,3,4) + bx <- outer(b,x) + eps <- apply(bx, MARGIN=2, FUN=function(x) rnorm(length(x), mean=0, sd=0.1*x)) + y <- a + bx + eps + y <- t(y) + + # Add some outliers by permuting the dimensions for 1/10 of the observations + idx <- sample(1:nrow(y), size=1/10*nrow(y)) + y[idx,] <- y[idx,c(2,3,1)] + + # Plot the data with fitted lines at four different view points + opar <- par(mar=c(1,1,1,1)+0.1) + N <- 4 + layout(matrix(1:N, nrow=2, byrow=TRUE)) + theta <- seq(0,270,length.out=N) + phi <- rep(20, length.out=N) + xlim <- ylim <- zlim <- c(0,45) + persp <- list() + for (kk in seq_along(theta)) { + # Plot the data + persp[[kk]] <- plot3d(y, theta=theta[kk], phi=phi[kk], xlim=xlim, ylim=ylim, zlim=zlim) + } + + # Weights on the observations + # Example a: Equal weights + w <- NULL + # Example b: More weight on the outliers (uncomment to test) + w <- rep(1, length(x)); w[idx] <- 0.8 + + # ...and show all iterations too with different colors. + maxIter <- c(seq(1,20,length.out=10),Inf) + col <- topo.colors(length(maxIter)) + # Show the fitted value for every iteration + for (ii in seq_along(maxIter)) { + # Fit a line using IWPCA through data + fit <- iwpca(y, w=w, maxIter=maxIter[ii], swapDirections=TRUE) + + ymid <- fit$xMean + d0 <- apply(y, MARGIN=2, FUN=min) - ymid + d1 <- apply(y, MARGIN=2, FUN=max) - ymid + b <- fit$vt[1,] + y0 <- -b * max(abs(d0)) + y1 <- b * max(abs(d1)) + yline <- matrix(c(y0,y1), nrow=length(b), ncol=2) + yline <- yline + ymid + + for (kk in seq_along(theta)) { + # Set pane to draw in + par(mfg=c((kk-1) %/% 2, (kk-1) %% 2) + 1) + # Set the viewpoint of the pane + options(persp.matrix=persp[[kk]]) + + # Get the first principal component + points3d(t(ymid), col=col[ii]) + lines3d(t(yline), col=col[ii]) + + # Highlight the last one + if (ii == length(maxIter)) + lines3d(t(yline), col="red", lwd=3) + } + } + + par(opar) + + } # for (zzz in 0) Loading required package: R.basic Warning message: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package called 'R.basic' > rm(zzz) > > proc.time() user system elapsed 0.32 0.07 0.37 |
aroma.light.Rcheck/tests_x64/iwpca.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > for (zzz in 0) { + + # This example requires plot3d() in R.basic [http://www.braju.com/R/] + if (!require(pkgName <- "R.basic", character.only=TRUE)) break + + # Simulate data from the model y <- a + bx + eps(bx) + x <- rexp(1000) + a <- c(2,15,3) + b <- c(2,3,4) + bx <- outer(b,x) + eps <- apply(bx, MARGIN=2, FUN=function(x) rnorm(length(x), mean=0, sd=0.1*x)) + y <- a + bx + eps + y <- t(y) + + # Add some outliers by permuting the dimensions for 1/10 of the observations + idx <- sample(1:nrow(y), size=1/10*nrow(y)) + y[idx,] <- y[idx,c(2,3,1)] + + # Plot the data with fitted lines at four different view points + opar <- par(mar=c(1,1,1,1)+0.1) + N <- 4 + layout(matrix(1:N, nrow=2, byrow=TRUE)) + theta <- seq(0,270,length.out=N) + phi <- rep(20, length.out=N) + xlim <- ylim <- zlim <- c(0,45) + persp <- list() + for (kk in seq_along(theta)) { + # Plot the data + persp[[kk]] <- plot3d(y, theta=theta[kk], phi=phi[kk], xlim=xlim, ylim=ylim, zlim=zlim) + } + + # Weights on the observations + # Example a: Equal weights + w <- NULL + # Example b: More weight on the outliers (uncomment to test) + w <- rep(1, length(x)); w[idx] <- 0.8 + + # ...and show all iterations too with different colors. + maxIter <- c(seq(1,20,length.out=10),Inf) + col <- topo.colors(length(maxIter)) + # Show the fitted value for every iteration + for (ii in seq_along(maxIter)) { + # Fit a line using IWPCA through data + fit <- iwpca(y, w=w, maxIter=maxIter[ii], swapDirections=TRUE) + + ymid <- fit$xMean + d0 <- apply(y, MARGIN=2, FUN=min) - ymid + d1 <- apply(y, MARGIN=2, FUN=max) - ymid + b <- fit$vt[1,] + y0 <- -b * max(abs(d0)) + y1 <- b * max(abs(d1)) + yline <- matrix(c(y0,y1), nrow=length(b), ncol=2) + yline <- yline + ymid + + for (kk in seq_along(theta)) { + # Set pane to draw in + par(mfg=c((kk-1) %/% 2, (kk-1) %% 2) + 1) + # Set the viewpoint of the pane + options(persp.matrix=persp[[kk]]) + + # Get the first principal component + points3d(t(ymid), col=col[ii]) + lines3d(t(yline), col=col[ii]) + + # Highlight the last one + if (ii == length(maxIter)) + lines3d(t(yline), col="red", lwd=3) + } + } + + par(opar) + + } # for (zzz in 0) Loading required package: R.basic Warning message: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package called 'R.basic' > rm(zzz) > > proc.time() user system elapsed 0.48 0.10 0.57 |
aroma.light.Rcheck/tests_i386/likelihood.smooth.spline.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Define f(x) > f <- expression(0.1*x^4 + 1*x^3 + 2*x^2 + x + 10*sin(2*x)) > > # Simulate data from this function in the range [a,b] > a <- -2; b <- 5 > x <- seq(a, b, length.out=3000) > y <- eval(f) > > # Add some noise to the data > y <- y + rnorm(length(y), 0, 10) > > # Plot the function and its second derivative > plot(x,y, type="l", lwd=4) > > # Fit a cubic smoothing spline and plot it > g <- smooth.spline(x,y, df=16) > lines(g, col="yellow", lwd=2, lty=2) > > # Calculating the (log) likelihood of the fitted spline > l <- likelihood(g) > > cat("Log likelihood with unique x values:\n") Log likelihood with unique x values: > print(l) Likelihood of smoothing spline: -302724.1 Log base: 2.718282 Weighted residuals sum of square: 302724.2 Penalty: -0.1140835 Smoothing parameter lambda: 0.0009257147 Roughness score: 123.2383 > > # Note that this is not the same as the log likelihood of the > # data on the fitted spline iff the x values are non-unique > x[1:5] <- x[1] # Non-unique x values > g <- smooth.spline(x,y, df=16) > l <- likelihood(g) > > cat("\nLog likelihood of the *spline* data set:\n") Log likelihood of the *spline* data set: > print(l) Likelihood of smoothing spline: -302442.3 Log base: 2.718282 Weighted residuals sum of square: 302442.4 Penalty: -0.114132 Smoothing parameter lambda: 0.0009261969 Roughness score: 123.2265 > > # In cases with non unique x values one has to proceed as > # below if one want to get the log likelihood for the original > # data. > l <- likelihood(g, x=x, y=y) > cat("\nLog likelihood of the *original* data set:\n") Log likelihood of the *original* data set: > print(l) Likelihood of smoothing spline: -302723.4 Log base: 2.718282 Weighted residuals sum of square: 302723.5 Penalty: -0.1141319 Smoothing parameter lambda: 0.0009261969 Roughness score: 123.2263 > > > > > > > proc.time() user system elapsed 0.37 0.03 0.39 |
aroma.light.Rcheck/tests_x64/likelihood.smooth.spline.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Define f(x) > f <- expression(0.1*x^4 + 1*x^3 + 2*x^2 + x + 10*sin(2*x)) > > # Simulate data from this function in the range [a,b] > a <- -2; b <- 5 > x <- seq(a, b, length.out=3000) > y <- eval(f) > > # Add some noise to the data > y <- y + rnorm(length(y), 0, 10) > > # Plot the function and its second derivative > plot(x,y, type="l", lwd=4) > > # Fit a cubic smoothing spline and plot it > g <- smooth.spline(x,y, df=16) > lines(g, col="yellow", lwd=2, lty=2) > > # Calculating the (log) likelihood of the fitted spline > l <- likelihood(g) > > cat("Log likelihood with unique x values:\n") Log likelihood with unique x values: > print(l) Likelihood of smoothing spline: -285289 Log base: 2.718282 Weighted residuals sum of square: 285289.1 Penalty: -0.1085332 Smoothing parameter lambda: 0.0009257147 Roughness score: 117.2426 > > # Note that this is not the same as the log likelihood of the > # data on the fitted spline iff the x values are non-unique > x[1:5] <- x[1] # Non-unique x values > g <- smooth.spline(x,y, df=16) > l <- likelihood(g) > > cat("\nLog likelihood of the *spline* data set:\n") Log likelihood of the *spline* data set: > print(l) Likelihood of smoothing spline: -284682.4 Log base: 2.718282 Weighted residuals sum of square: 284682.5 Penalty: -0.1084718 Smoothing parameter lambda: 0.0009261969 Roughness score: 117.1153 > > # In cases with non unique x values one has to proceed as > # below if one want to get the log likelihood for the original > # data. > l <- likelihood(g, x=x, y=y) > cat("\nLog likelihood of the *original* data set:\n") Log likelihood of the *original* data set: > print(l) Likelihood of smoothing spline: -285290.6 Log base: 2.718282 Weighted residuals sum of square: 285290.7 Penalty: -0.108472 Smoothing parameter lambda: 0.0009261969 Roughness score: 117.1155 > > > > > > > proc.time() user system elapsed 0.45 0.12 0.56 |
aroma.light.Rcheck/tests_i386/medianPolish.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Deaths from sport parachuting; from ABC of EDA, p.224: > deaths <- matrix(c(14,15,14, 7,4,7, 8,2,10, 15,9,10, 0,2,0), ncol=3, byrow=TRUE) > rownames(deaths) <- c("1-24", "25-74", "75-199", "200++", "NA") > colnames(deaths) <- 1973:1975 > > print(deaths) 1973 1974 1975 1-24 14 15 14 25-74 7 4 7 75-199 8 2 10 200++ 15 9 10 NA 0 2 0 > > mp <- medianPolish(deaths) > mp1 <- medpolish(deaths, trace=FALSE) > print(mp) Median Polish Results (Dataset: "deaths") Overall: 8 Row Effects: 1-24 25-74 75-199 200++ NA 6 -1 0 2 -8 Column Effects: 1973 1974 1975 0 -1 0 Residuals: 1973 1974 1975 1-24 0 2 0 25-74 0 -2 0 75-199 0 -5 2 200++ 5 0 0 NA 0 3 0 > > ff <- c("overall", "row", "col", "residuals") > stopifnot(all.equal(mp[ff], mp1[ff])) > > # Validate decomposition: > stopifnot(all.equal(deaths, mp$overall+outer(mp$row,mp$col,"+")+mp$resid)) > > proc.time() user system elapsed 0.39 0.04 0.40 |
aroma.light.Rcheck/tests_x64/medianPolish.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Deaths from sport parachuting; from ABC of EDA, p.224: > deaths <- matrix(c(14,15,14, 7,4,7, 8,2,10, 15,9,10, 0,2,0), ncol=3, byrow=TRUE) > rownames(deaths) <- c("1-24", "25-74", "75-199", "200++", "NA") > colnames(deaths) <- 1973:1975 > > print(deaths) 1973 1974 1975 1-24 14 15 14 25-74 7 4 7 75-199 8 2 10 200++ 15 9 10 NA 0 2 0 > > mp <- medianPolish(deaths) > mp1 <- medpolish(deaths, trace=FALSE) > print(mp) Median Polish Results (Dataset: "deaths") Overall: 8 Row Effects: 1-24 25-74 75-199 200++ NA 6 -1 0 2 -8 Column Effects: 1973 1974 1975 0 -1 0 Residuals: 1973 1974 1975 1-24 0 2 0 25-74 0 -2 0 75-199 0 -5 2 200++ 5 0 0 NA 0 3 0 > > ff <- c("overall", "row", "col", "residuals") > stopifnot(all.equal(mp[ff], mp1[ff])) > > # Validate decomposition: > stopifnot(all.equal(deaths, mp$overall+outer(mp$row,mp$col,"+")+mp$resid)) > > proc.time() user system elapsed 0.23 0.10 0.32 |
aroma.light.Rcheck/tests_i386/normalizeAffine.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > pathname <- system.file("data-ex", "PMT-RGData.dat", package="aroma.light") > rg <- read.table(pathname, header=TRUE, sep="\t") > nbrOfScans <- max(rg$slide) > > rg <- as.list(rg) > for (field in c("R", "G")) + rg[[field]] <- matrix(as.double(rg[[field]]), ncol=nbrOfScans) > rg$slide <- rg$spot <- NULL > rg <- as.matrix(as.data.frame(rg)) > colnames(rg) <- rep(c("R", "G"), each=nbrOfScans) > > rgC <- rg > > layout(matrix(c(1,2,0,3,4,0,5,6,7), ncol=3, byrow=TRUE)) > > for (channel in c("R", "G")) { + sidx <- which(colnames(rg) == channel) + channelColor <- switch(channel, R="red", G="green") + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + # The raw data + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + plotMvsAPairs(rg, channel=channel) + title(main=paste("Observed", channel)) + box(col=channelColor) + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + # The calibrated data + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + rgC[,sidx] <- calibrateMultiscan(rg[,sidx], average=NULL) + + plotMvsAPairs(rgC, channel=channel) + title(main=paste("Calibrated", channel)) + box(col=channelColor) + } # for (channel ...) There were 50 or more warnings (use warnings() to see the first 50) > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # The average calibrated data > # > # Note how the red signals are weaker than the green. The reason > # for this can be that the scale factor in the green channel is > # greater than in the red channel, but it can also be that there > # is a remaining relative difference in bias between the green > # and the red channel, a bias that precedes the scanning. > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > rgCA <- matrix(NA_real_, nrow=nrow(rg), ncol=2) > colnames(rgCA) <- c("R", "G") > for (channel in c("R", "G")) { + sidx <- which(colnames(rg) == channel) + rgCA[,channel] <- calibrateMultiscan(rg[,sidx]) + } > > plotMvsA(rgCA) > title(main="Average calibrated") > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # The affine normalized average calibrated data > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Create a matrix where the columns represent the channels > # to be normalized. > rgCAN <- rgCA > # Affine normalization of channels > rgCAN <- normalizeAffine(rgCAN) > > plotMvsA(rgCAN) > title(main="Affine normalized A.C.") > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # It is always ok to rescale the affine normalized data if its > # done on (R,G); not on (A,M)! However, this is only needed for > # esthetic purposes. > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > rgCAN <- rgCAN * 2^5 > plotMvsA(rgCAN) > title(main="Rescaled normalized") > > > > proc.time() user system elapsed 2.68 0.12 2.81 |
aroma.light.Rcheck/tests_x64/normalizeAffine.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > pathname <- system.file("data-ex", "PMT-RGData.dat", package="aroma.light") > rg <- read.table(pathname, header=TRUE, sep="\t") > nbrOfScans <- max(rg$slide) > > rg <- as.list(rg) > for (field in c("R", "G")) + rg[[field]] <- matrix(as.double(rg[[field]]), ncol=nbrOfScans) > rg$slide <- rg$spot <- NULL > rg <- as.matrix(as.data.frame(rg)) > colnames(rg) <- rep(c("R", "G"), each=nbrOfScans) > > rgC <- rg > > layout(matrix(c(1,2,0,3,4,0,5,6,7), ncol=3, byrow=TRUE)) > > for (channel in c("R", "G")) { + sidx <- which(colnames(rg) == channel) + channelColor <- switch(channel, R="red", G="green") + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + # The raw data + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + plotMvsAPairs(rg, channel=channel) + title(main=paste("Observed", channel)) + box(col=channelColor) + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + # The calibrated data + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + rgC[,sidx] <- calibrateMultiscan(rg[,sidx], average=NULL) + + plotMvsAPairs(rgC, channel=channel) + title(main=paste("Calibrated", channel)) + box(col=channelColor) + } # for (channel ...) There were 50 or more warnings (use warnings() to see the first 50) > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # The average calibrated data > # > # Note how the red signals are weaker than the green. The reason > # for this can be that the scale factor in the green channel is > # greater than in the red channel, but it can also be that there > # is a remaining relative difference in bias between the green > # and the red channel, a bias that precedes the scanning. > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > rgCA <- matrix(NA_real_, nrow=nrow(rg), ncol=2) > colnames(rgCA) <- c("R", "G") > for (channel in c("R", "G")) { + sidx <- which(colnames(rg) == channel) + rgCA[,channel] <- calibrateMultiscan(rg[,sidx]) + } > > plotMvsA(rgCA) > title(main="Average calibrated") > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # The affine normalized average calibrated data > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Create a matrix where the columns represent the channels > # to be normalized. > rgCAN <- rgCA > # Affine normalization of channels > rgCAN <- normalizeAffine(rgCAN) > > plotMvsA(rgCAN) > title(main="Affine normalized A.C.") > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # It is always ok to rescale the affine normalized data if its > # done on (R,G); not on (A,M)! However, this is only needed for > # esthetic purposes. > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > rgCAN <- rgCAN * 2^5 > plotMvsA(rgCAN) > title(main="Rescaled normalized") > > > > proc.time() user system elapsed 2.84 0.12 2.96 |
aroma.light.Rcheck/tests_i386/normalizeAverage.list.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate ten samples of different lengths > N <- 10000 > X <- list() > for (kk in 1:8) { + rfcn <- list(rnorm, rgamma)[[sample(2, size=1)]] + size <- runif(1, min=0.3, max=1) + a <- rgamma(1, shape=20, rate=10) + b <- rgamma(1, shape=10, rate=10) + values <- rfcn(size*N, a, b) + + # "Censor" values + values[values < 0 | values > 8] <- NA_real_ + + X[[kk]] <- values + } > > # Add 20% missing values > X <- lapply(X, FUN=function(x) { + x[sample(length(x), size=0.20*length(x))] <- NA_real_ + x + }) > > # Normalize quantiles > Xn <- normalizeAverage(X, na.rm=TRUE, targetAvg=median(unlist(X), na.rm=TRUE)) > > # Plot the data > layout(matrix(1:2, ncol=1)) > xlim <- range(X, Xn, na.rm=TRUE) > plotDensity(X, lwd=2, xlim=xlim, main="The original distributions") > plotDensity(Xn, lwd=2, xlim=xlim, main="The normalized distributions") > > proc.time() user system elapsed 0.60 0.09 0.68 |
aroma.light.Rcheck/tests_x64/normalizeAverage.list.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate ten samples of different lengths > N <- 10000 > X <- list() > for (kk in 1:8) { + rfcn <- list(rnorm, rgamma)[[sample(2, size=1)]] + size <- runif(1, min=0.3, max=1) + a <- rgamma(1, shape=20, rate=10) + b <- rgamma(1, shape=10, rate=10) + values <- rfcn(size*N, a, b) + + # "Censor" values + values[values < 0 | values > 8] <- NA_real_ + + X[[kk]] <- values + } > > # Add 20% missing values > X <- lapply(X, FUN=function(x) { + x[sample(length(x), size=0.20*length(x))] <- NA_real_ + x + }) > > # Normalize quantiles > Xn <- normalizeAverage(X, na.rm=TRUE, targetAvg=median(unlist(X), na.rm=TRUE)) > > # Plot the data > layout(matrix(1:2, ncol=1)) > xlim <- range(X, Xn, na.rm=TRUE) > plotDensity(X, lwd=2, xlim=xlim, main="The original distributions") > plotDensity(Xn, lwd=2, xlim=xlim, main="The normalized distributions") > > proc.time() user system elapsed 0.40 0.04 0.45 |
aroma.light.Rcheck/tests_i386/normalizeAverage.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate three samples with on average 20% missing values > N <- 10000 > X <- cbind(rnorm(N, mean=3, sd=1), + rnorm(N, mean=4, sd=2), + rgamma(N, shape=2, rate=1)) > X[sample(3*N, size=0.20*3*N)] <- NA_real_ > > # Normalize quantiles > Xn <- normalizeAverage(X, na.rm=TRUE, targetAvg=median(X, na.rm=TRUE)) > > # Plot the data > layout(matrix(1:2, ncol=1)) > xlim <- range(X, Xn, na.rm=TRUE) > plotDensity(X, lwd=2, xlim=xlim, main="The three original distributions") > plotDensity(Xn, lwd=2, xlim=xlim, main="The three normalized distributions") > > proc.time() user system elapsed 0.26 0.07 0.34 |
aroma.light.Rcheck/tests_x64/normalizeAverage.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate three samples with on average 20% missing values > N <- 10000 > X <- cbind(rnorm(N, mean=3, sd=1), + rnorm(N, mean=4, sd=2), + rgamma(N, shape=2, rate=1)) > X[sample(3*N, size=0.20*3*N)] <- NA_real_ > > # Normalize quantiles > Xn <- normalizeAverage(X, na.rm=TRUE, targetAvg=median(X, na.rm=TRUE)) > > # Plot the data > layout(matrix(1:2, ncol=1)) > xlim <- range(X, Xn, na.rm=TRUE) > plotDensity(X, lwd=2, xlim=xlim, main="The three original distributions") > plotDensity(Xn, lwd=2, xlim=xlim, main="The three normalized distributions") > > proc.time() user system elapsed 0.31 0.06 0.35 |
aroma.light.Rcheck/tests_i386/normalizeCurveFit.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > pathname <- system.file("data-ex", "PMT-RGData.dat", package="aroma.light") > rg <- read.table(pathname, header=TRUE, sep="\t") > nbrOfScans <- max(rg$slide) > > rg <- as.list(rg) > for (field in c("R", "G")) + rg[[field]] <- matrix(as.double(rg[[field]]), ncol=nbrOfScans) > rg$slide <- rg$spot <- NULL > rg <- as.matrix(as.data.frame(rg)) > colnames(rg) <- rep(c("R", "G"), each=nbrOfScans) > > layout(matrix(c(1,2,0,3,4,0,5,6,7), ncol=3, byrow=TRUE)) > > rgC <- rg > for (channel in c("R", "G")) { + sidx <- which(colnames(rg) == channel) + channelColor <- switch(channel, R="red", G="green") + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + # The raw data + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + plotMvsAPairs(rg[,sidx]) + title(main=paste("Observed", channel)) + box(col=channelColor) + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + # The calibrated data + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + rgC[,sidx] <- calibrateMultiscan(rg[,sidx], average=NULL) + + plotMvsAPairs(rgC[,sidx]) + title(main=paste("Calibrated", channel)) + box(col=channelColor) + } # for (channel ...) > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # The average calibrated data > # > # Note how the red signals are weaker than the green. The reason > # for this can be that the scale factor in the green channel is > # greater than in the red channel, but it can also be that there > # is a remaining relative difference in bias between the green > # and the red channel, a bias that precedes the scanning. > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > rgCA <- rg > for (channel in c("R", "G")) { + sidx <- which(colnames(rg) == channel) + rgCA[,sidx] <- calibrateMultiscan(rg[,sidx]) + } > > rgCAavg <- matrix(NA_real_, nrow=nrow(rgCA), ncol=2) > colnames(rgCAavg) <- c("R", "G") > for (channel in c("R", "G")) { + sidx <- which(colnames(rg) == channel) + rgCAavg[,channel] <- apply(rgCA[,sidx], MARGIN=1, FUN=median, na.rm=TRUE) + } > > # Add some "fake" outliers > outliers <- 1:600 > rgCAavg[outliers,"G"] <- 50000 > > plotMvsA(rgCAavg) > title(main="Average calibrated (AC)") > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Normalize data > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Weight-down outliers when normalizing > weights <- rep(1, nrow(rgCAavg)) > weights[outliers] <- 0.001 > > # Affine normalization of channels > rgCANa <- normalizeAffine(rgCAavg, weights=weights) > # It is always ok to rescale the affine normalized data if its > # done on (R,G); not on (A,M)! However, this is only needed for > # esthetic purposes. > rgCANa <- rgCANa *2^1.4 > plotMvsA(rgCANa) > title(main="Normalized AC") > > # Curve-fit (lowess) normalization > rgCANlw <- normalizeLowess(rgCAavg, weights=weights) Warning message: In normalizeCurveFit.matrix(X, method = "lowess", ...) : Weights were rounded to {0,1} since 'lowess' normalization supports only zero-one weights. > plotMvsA(rgCANlw, col="orange", add=TRUE) > > # Curve-fit (loess) normalization > rgCANl <- normalizeLoess(rgCAavg, weights=weights) > plotMvsA(rgCANl, col="red", add=TRUE) > > # Curve-fit (robust spline) normalization > rgCANrs <- normalizeRobustSpline(rgCAavg, weights=weights) > plotMvsA(rgCANrs, col="blue", add=TRUE) > > legend(x=0,y=16, legend=c("affine", "lowess", "loess", "r. spline"), pch=19, + col=c("black", "orange", "red", "blue"), ncol=2, x.intersp=0.3, bty="n") > > > plotMvsMPairs(cbind(rgCANa, rgCANlw), col="orange", xlab=expression(M[affine])) > title(main="Normalized AC") > plotMvsMPairs(cbind(rgCANa, rgCANl), col="red", add=TRUE) > plotMvsMPairs(cbind(rgCANa, rgCANrs), col="blue", add=TRUE) > abline(a=0, b=1, lty=2) > legend(x=-6,y=6, legend=c("lowess", "loess", "r. spline"), pch=19, + col=c("orange", "red", "blue"), ncol=2, x.intersp=0.3, bty="n") > > > proc.time() user system elapsed 7.04 0.14 7.17 |
aroma.light.Rcheck/tests_x64/normalizeCurveFit.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > pathname <- system.file("data-ex", "PMT-RGData.dat", package="aroma.light") > rg <- read.table(pathname, header=TRUE, sep="\t") > nbrOfScans <- max(rg$slide) > > rg <- as.list(rg) > for (field in c("R", "G")) + rg[[field]] <- matrix(as.double(rg[[field]]), ncol=nbrOfScans) > rg$slide <- rg$spot <- NULL > rg <- as.matrix(as.data.frame(rg)) > colnames(rg) <- rep(c("R", "G"), each=nbrOfScans) > > layout(matrix(c(1,2,0,3,4,0,5,6,7), ncol=3, byrow=TRUE)) > > rgC <- rg > for (channel in c("R", "G")) { + sidx <- which(colnames(rg) == channel) + channelColor <- switch(channel, R="red", G="green") + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + # The raw data + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + plotMvsAPairs(rg[,sidx]) + title(main=paste("Observed", channel)) + box(col=channelColor) + + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + # The calibrated data + # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + rgC[,sidx] <- calibrateMultiscan(rg[,sidx], average=NULL) + + plotMvsAPairs(rgC[,sidx]) + title(main=paste("Calibrated", channel)) + box(col=channelColor) + } # for (channel ...) > > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # The average calibrated data > # > # Note how the red signals are weaker than the green. The reason > # for this can be that the scale factor in the green channel is > # greater than in the red channel, but it can also be that there > # is a remaining relative difference in bias between the green > # and the red channel, a bias that precedes the scanning. > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > rgCA <- rg > for (channel in c("R", "G")) { + sidx <- which(colnames(rg) == channel) + rgCA[,sidx] <- calibrateMultiscan(rg[,sidx]) + } > > rgCAavg <- matrix(NA_real_, nrow=nrow(rgCA), ncol=2) > colnames(rgCAavg) <- c("R", "G") > for (channel in c("R", "G")) { + sidx <- which(colnames(rg) == channel) + rgCAavg[,channel] <- apply(rgCA[,sidx], MARGIN=1, FUN=median, na.rm=TRUE) + } > > # Add some "fake" outliers > outliers <- 1:600 > rgCAavg[outliers,"G"] <- 50000 > > plotMvsA(rgCAavg) > title(main="Average calibrated (AC)") > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Normalize data > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Weight-down outliers when normalizing > weights <- rep(1, nrow(rgCAavg)) > weights[outliers] <- 0.001 > > # Affine normalization of channels > rgCANa <- normalizeAffine(rgCAavg, weights=weights) > # It is always ok to rescale the affine normalized data if its > # done on (R,G); not on (A,M)! However, this is only needed for > # esthetic purposes. > rgCANa <- rgCANa *2^1.4 > plotMvsA(rgCANa) > title(main="Normalized AC") > > # Curve-fit (lowess) normalization > rgCANlw <- normalizeLowess(rgCAavg, weights=weights) Warning message: In normalizeCurveFit.matrix(X, method = "lowess", ...) : Weights were rounded to {0,1} since 'lowess' normalization supports only zero-one weights. > plotMvsA(rgCANlw, col="orange", add=TRUE) > > # Curve-fit (loess) normalization > rgCANl <- normalizeLoess(rgCAavg, weights=weights) > plotMvsA(rgCANl, col="red", add=TRUE) > > # Curve-fit (robust spline) normalization > rgCANrs <- normalizeRobustSpline(rgCAavg, weights=weights) > plotMvsA(rgCANrs, col="blue", add=TRUE) > > legend(x=0,y=16, legend=c("affine", "lowess", "loess", "r. spline"), pch=19, + col=c("black", "orange", "red", "blue"), ncol=2, x.intersp=0.3, bty="n") > > > plotMvsMPairs(cbind(rgCANa, rgCANlw), col="orange", xlab=expression(M[affine])) > title(main="Normalized AC") > plotMvsMPairs(cbind(rgCANa, rgCANl), col="red", add=TRUE) > plotMvsMPairs(cbind(rgCANa, rgCANrs), col="blue", add=TRUE) > abline(a=0, b=1, lty=2) > legend(x=-6,y=6, legend=c("lowess", "loess", "r. spline"), pch=19, + col=c("orange", "red", "blue"), ncol=2, x.intersp=0.3, bty="n") > > > proc.time() user system elapsed 7.21 0.04 7.25 |
aroma.light.Rcheck/tests_i386/normalizeDifferencesToAverage.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate three shifted tracks of different lengths with same profiles > ns <- c(A=2, B=1, C=0.25)*1000 > xx <- lapply(ns, FUN=function(n) { seq(from=1, to=max(ns), length.out=n) }) > zz <- mapply(seq_along(ns), ns, FUN=function(z,n) rep(z,n)) > > yy <- list( + A = rnorm(ns["A"], mean=0, sd=0.5), + B = rnorm(ns["B"], mean=5, sd=0.4), + C = rnorm(ns["C"], mean=-5, sd=1.1) + ) > yy <- lapply(yy, FUN=function(y) { + n <- length(y) + y[1:(n/2)] <- y[1:(n/2)] + 2 + y[1:(n/4)] <- y[1:(n/4)] - 4 + y + }) > > # Shift all tracks toward the first track > yyN <- normalizeDifferencesToAverage(yy, baseline=1) > > # The baseline channel is not changed > stopifnot(identical(yy[[1]], yyN[[1]])) > > # Get the estimated parameters > fit <- attr(yyN, "fit") > > # Plot the tracks > layout(matrix(1:2, ncol=1)) > x <- unlist(xx) > col <- unlist(zz) > y <- unlist(yy) > yN <- unlist(yyN) > plot(x, y, col=col, ylim=c(-10,10)) > plot(x, yN, col=col, ylim=c(-10,10)) > > proc.time() user system elapsed 0.54 0.12 0.64 |
aroma.light.Rcheck/tests_x64/normalizeDifferencesToAverage.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate three shifted tracks of different lengths with same profiles > ns <- c(A=2, B=1, C=0.25)*1000 > xx <- lapply(ns, FUN=function(n) { seq(from=1, to=max(ns), length.out=n) }) > zz <- mapply(seq_along(ns), ns, FUN=function(z,n) rep(z,n)) > > yy <- list( + A = rnorm(ns["A"], mean=0, sd=0.5), + B = rnorm(ns["B"], mean=5, sd=0.4), + C = rnorm(ns["C"], mean=-5, sd=1.1) + ) > yy <- lapply(yy, FUN=function(y) { + n <- length(y) + y[1:(n/2)] <- y[1:(n/2)] + 2 + y[1:(n/4)] <- y[1:(n/4)] - 4 + y + }) > > # Shift all tracks toward the first track > yyN <- normalizeDifferencesToAverage(yy, baseline=1) > > # The baseline channel is not changed > stopifnot(identical(yy[[1]], yyN[[1]])) > > # Get the estimated parameters > fit <- attr(yyN, "fit") > > # Plot the tracks > layout(matrix(1:2, ncol=1)) > x <- unlist(xx) > col <- unlist(zz) > y <- unlist(yy) > yN <- unlist(yyN) > plot(x, y, col=col, ylim=c(-10,10)) > plot(x, yN, col=col, ylim=c(-10,10)) > > proc.time() user system elapsed 0.50 0.07 0.56 |
aroma.light.Rcheck/tests_i386/normalizeFragmentLength-ex1.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Example 1: Single-enzyme fragment-length normalization of 6 arrays > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Number samples > I <- 9 > > # Number of loci > J <- 1000 > > # Fragment lengths > fl <- seq(from=100, to=1000, length.out=J) > > # Simulate data points with unknown fragment lengths > hasUnknownFL <- seq(from=1, to=J, by=50) > fl[hasUnknownFL] <- NA_real_ > > # Simulate data > y <- matrix(0, nrow=J, ncol=I) > maxY <- 12 > for (kk in 1:I) { + k <- runif(n=1, min=3, max=5) + mu <- function(fl) { + mu <- rep(maxY, length(fl)) + ok <- !is.na(fl) + mu[ok] <- mu[ok] - fl[ok]^{1/k} + mu + } + eps <- rnorm(J, mean=0, sd=1) + y[,kk] <- mu(fl) + eps + } > > # Normalize data (to a zero baseline) > yN <- apply(y, MARGIN=2, FUN=function(y) { + normalizeFragmentLength(y, fragmentLengths=fl, onMissing="median") + }) > > # The correction factors > rho <- y-yN > print(summary(rho)) V1 V2 V3 V4 Min. :7.958 Min. :7.402 Min. :6.769 Min. :6.587 1st Qu.:8.153 1st Qu.:7.720 1st Qu.:7.145 1st Qu.:6.898 Median :8.405 Median :8.095 Median :7.538 Median :7.301 Mean :8.477 Mean :8.126 Mean :7.603 Mean :7.436 3rd Qu.:8.761 3rd Qu.:8.501 3rd Qu.:8.028 3rd Qu.:7.906 Max. :9.297 Max. :9.005 Max. :8.690 Max. :8.824 V5 V6 V7 V8 Min. :6.875 Min. :6.028 Min. :7.941 Min. :7.901 1st Qu.:7.259 1st Qu.:6.480 1st Qu.:8.170 1st Qu.:8.095 Median :7.677 Median :6.969 Median :8.421 Median :8.389 Mean :7.761 Mean :7.065 Mean :8.539 Mean :8.452 3rd Qu.:8.240 3rd Qu.:7.613 3rd Qu.:8.885 3rd Qu.:8.768 Max. :8.906 Max. :8.473 Max. :9.483 Max. :9.304 V9 Min. :7.025 1st Qu.:7.371 Median :7.774 Mean :7.850 3rd Qu.:8.308 Max. :8.913 > # The correction for units with unknown fragment lengths > # equals the median correction factor of all other units > print(summary(rho[hasUnknownFL,])) V1 V2 V3 V4 Min. :8.405 Min. :8.095 Min. :7.538 Min. :7.301 1st Qu.:8.405 1st Qu.:8.095 1st Qu.:7.538 1st Qu.:7.301 Median :8.405 Median :8.095 Median :7.538 Median :7.301 Mean :8.405 Mean :8.095 Mean :7.538 Mean :7.301 3rd Qu.:8.405 3rd Qu.:8.095 3rd Qu.:7.538 3rd Qu.:7.301 Max. :8.405 Max. :8.095 Max. :7.538 Max. :7.301 V5 V6 V7 V8 Min. :7.677 Min. :6.969 Min. :8.421 Min. :8.389 1st Qu.:7.677 1st Qu.:6.969 1st Qu.:8.421 1st Qu.:8.389 Median :7.677 Median :6.969 Median :8.421 Median :8.389 Mean :7.677 Mean :6.969 Mean :8.421 Mean :8.389 3rd Qu.:7.677 3rd Qu.:6.969 3rd Qu.:8.421 3rd Qu.:8.389 Max. :7.677 Max. :6.969 Max. :8.421 Max. :8.389 V9 Min. :7.774 1st Qu.:7.774 Median :7.774 Mean :7.774 3rd Qu.:7.774 Max. :7.774 > > # Plot raw data > layout(matrix(1:9, ncol=3)) > xlim <- c(0,max(fl, na.rm=TRUE)) > ylim <- c(0,max(y, na.rm=TRUE)) > xlab <- "Fragment length" > ylab <- expression(log2(theta)) > for (kk in 1:I) { + plot(fl, y[,kk], xlim=xlim, ylim=ylim, xlab=xlab, ylab=ylab) + ok <- (is.finite(fl) & is.finite(y[,kk])) + lines(lowess(fl[ok], y[ok,kk]), col="red", lwd=2) + } > > # Plot normalized data > layout(matrix(1:9, ncol=3)) > ylim <- c(-1,1)*max(y, na.rm=TRUE)/2 > for (kk in 1:I) { + plot(fl, yN[,kk], xlim=xlim, ylim=ylim, xlab=xlab, ylab=ylab) + ok <- (is.finite(fl) & is.finite(y[,kk])) + lines(lowess(fl[ok], yN[ok,kk]), col="blue", lwd=2) + } > > proc.time() user system elapsed 0.95 0.09 1.03 |
aroma.light.Rcheck/tests_x64/normalizeFragmentLength-ex1.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Example 1: Single-enzyme fragment-length normalization of 6 arrays > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Number samples > I <- 9 > > # Number of loci > J <- 1000 > > # Fragment lengths > fl <- seq(from=100, to=1000, length.out=J) > > # Simulate data points with unknown fragment lengths > hasUnknownFL <- seq(from=1, to=J, by=50) > fl[hasUnknownFL] <- NA_real_ > > # Simulate data > y <- matrix(0, nrow=J, ncol=I) > maxY <- 12 > for (kk in 1:I) { + k <- runif(n=1, min=3, max=5) + mu <- function(fl) { + mu <- rep(maxY, length(fl)) + ok <- !is.na(fl) + mu[ok] <- mu[ok] - fl[ok]^{1/k} + mu + } + eps <- rnorm(J, mean=0, sd=1) + y[,kk] <- mu(fl) + eps + } > > # Normalize data (to a zero baseline) > yN <- apply(y, MARGIN=2, FUN=function(y) { + normalizeFragmentLength(y, fragmentLengths=fl, onMissing="median") + }) > > # The correction factors > rho <- y-yN > print(summary(rho)) V1 V2 V3 V4 Min. :6.515 Min. :7.424 Min. :2.117 Min. :7.802 1st Qu.:6.831 1st Qu.:7.753 1st Qu.:3.004 1st Qu.:8.012 Median :7.248 Median :8.095 Median :3.970 Median :8.271 Mean :7.379 Mean :8.146 Mean :4.218 Mean :8.367 3rd Qu.:7.901 3rd Qu.:8.511 3rd Qu.:5.363 3rd Qu.:8.700 Max. :8.640 Max. :9.109 Max. :7.102 Max. :9.237 V5 V6 V7 V8 Min. :6.896 Min. :7.651 Min. :4.795 Min. :4.253 1st Qu.:7.215 1st Qu.:8.003 1st Qu.:5.381 1st Qu.:4.816 Median :7.550 Median :8.341 Median :6.096 Median :5.529 Mean :7.660 Mean :8.369 Mean :6.229 Mean :5.684 3rd Qu.:8.103 3rd Qu.:8.722 3rd Qu.:7.014 3rd Qu.:6.490 Max. :8.685 Max. :9.203 Max. :8.164 Max. :7.684 V9 Min. :7.785 1st Qu.:7.990 Median :8.240 Mean :8.325 3rd Qu.:8.641 Max. :9.117 > # The correction for units with unknown fragment lengths > # equals the median correction factor of all other units > print(summary(rho[hasUnknownFL,])) V1 V2 V3 V4 V5 Min. :7.248 Min. :8.095 Min. :3.97 Min. :8.271 Min. :7.55 1st Qu.:7.248 1st Qu.:8.095 1st Qu.:3.97 1st Qu.:8.271 1st Qu.:7.55 Median :7.248 Median :8.095 Median :3.97 Median :8.271 Median :7.55 Mean :7.248 Mean :8.095 Mean :3.97 Mean :8.271 Mean :7.55 3rd Qu.:7.248 3rd Qu.:8.095 3rd Qu.:3.97 3rd Qu.:8.271 3rd Qu.:7.55 Max. :7.248 Max. :8.095 Max. :3.97 Max. :8.271 Max. :7.55 V6 V7 V8 V9 Min. :8.341 Min. :6.096 Min. :5.529 Min. :8.24 1st Qu.:8.341 1st Qu.:6.096 1st Qu.:5.529 1st Qu.:8.24 Median :8.341 Median :6.096 Median :5.529 Median :8.24 Mean :8.341 Mean :6.096 Mean :5.529 Mean :8.24 3rd Qu.:8.341 3rd Qu.:6.096 3rd Qu.:5.529 3rd Qu.:8.24 Max. :8.341 Max. :6.096 Max. :5.529 Max. :8.24 > > # Plot raw data > layout(matrix(1:9, ncol=3)) > xlim <- c(0,max(fl, na.rm=TRUE)) > ylim <- c(0,max(y, na.rm=TRUE)) > xlab <- "Fragment length" > ylab <- expression(log2(theta)) > for (kk in 1:I) { + plot(fl, y[,kk], xlim=xlim, ylim=ylim, xlab=xlab, ylab=ylab) + ok <- (is.finite(fl) & is.finite(y[,kk])) + lines(lowess(fl[ok], y[ok,kk]), col="red", lwd=2) + } > > # Plot normalized data > layout(matrix(1:9, ncol=3)) > ylim <- c(-1,1)*max(y, na.rm=TRUE)/2 > for (kk in 1:I) { + plot(fl, yN[,kk], xlim=xlim, ylim=ylim, xlab=xlab, ylab=ylab) + ok <- (is.finite(fl) & is.finite(y[,kk])) + lines(lowess(fl[ok], yN[ok,kk]), col="blue", lwd=2) + } > > proc.time() user system elapsed 0.81 0.10 0.90 |
aroma.light.Rcheck/tests_i386/normalizeFragmentLength-ex2.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Example 2: Two-enzyme fragment-length normalization of 6 arrays > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > set.seed(0xbeef) > > # Number samples > I <- 5 > > # Number of loci > J <- 3000 > > # Fragment lengths (two enzymes) > fl <- matrix(0, nrow=J, ncol=2) > fl[,1] <- seq(from=100, to=1000, length.out=J) > fl[,2] <- seq(from=1000, to=100, length.out=J) > > # Let 1/2 of the units be on both enzymes > fl[seq(from=1, to=J, by=4),1] <- NA_real_ > fl[seq(from=2, to=J, by=4),2] <- NA_real_ > > # Let some have unknown fragment lengths > hasUnknownFL <- seq(from=1, to=J, by=15) > fl[hasUnknownFL,] <- NA_real_ > > # Sty/Nsp mixing proportions: > rho <- rep(1, I) > rho[1] <- 1/3; # Less Sty in 1st sample > rho[3] <- 3/2; # More Sty in 3rd sample > > > # Simulate data > z <- array(0, dim=c(J,2,I)) > maxLog2Theta <- 12 > for (ii in 1:I) { + # Common effect for both enzymes + mu <- function(fl) { + k <- runif(n=1, min=3, max=5) + mu <- rep(maxLog2Theta, length(fl)) + ok <- is.finite(fl) + mu[ok] <- mu[ok] - fl[ok]^{1/k} + mu + } + + # Calculate the effect for each data point + for (ee in 1:2) { + z[,ee,ii] <- mu(fl[,ee]) + } + + # Update the Sty/Nsp mixing proportions + ee <- 2 + z[,ee,ii] <- rho[ii]*z[,ee,ii] + + # Add random errors + for (ee in 1:2) { + eps <- rnorm(J, mean=0, sd=1/sqrt(2)) + z[,ee,ii] <- z[,ee,ii] + eps + } + } > > > hasFl <- is.finite(fl) > > unitSets <- list( + nsp = which( hasFl[,1] & !hasFl[,2]), + sty = which(!hasFl[,1] & hasFl[,2]), + both = which( hasFl[,1] & hasFl[,2]), + none = which(!hasFl[,1] & !hasFl[,2]) + ) > > # The observed data is a mix of two enzymes > theta <- matrix(NA_real_, nrow=J, ncol=I) > > # Single-enzyme units > for (ee in 1:2) { + uu <- unitSets[[ee]] + theta[uu,] <- 2^z[uu,ee,] + } > > # Both-enzyme units (sum on intensity scale) > uu <- unitSets$both > theta[uu,] <- (2^z[uu,1,]+2^z[uu,2,])/2 > > # Missing units (sample from the others) > uu <- unitSets$none > theta[uu,] <- apply(theta, MARGIN=2, sample, size=length(uu)) > > # Calculate target array > thetaT <- rowMeans(theta, na.rm=TRUE) > targetFcns <- list() > for (ee in 1:2) { + uu <- unitSets[[ee]] + fit <- lowess(fl[uu,ee], log2(thetaT[uu])) + class(fit) <- "lowess" + targetFcns[[ee]] <- function(fl, ...) { + predict(fit, newdata=fl) + } + } > > > # Fit model only to a subset of the data > subsetToFit <- setdiff(1:J, seq(from=1, to=J, by=10)) > > # Normalize data (to a target baseline) > thetaN <- matrix(NA_real_, nrow=J, ncol=I) > fits <- vector("list", I) > for (ii in 1:I) { + lthetaNi <- normalizeFragmentLength(log2(theta[,ii]), targetFcns=targetFcns, + fragmentLengths=fl, onMissing="median", + subsetToFit=subsetToFit, .returnFit=TRUE) + fits[[ii]] <- attr(lthetaNi, "modelFit") + thetaN[,ii] <- 2^lthetaNi + } > > > # Plot raw data > xlim <- c(0, max(fl, na.rm=TRUE)) > ylim <- c(0, max(log2(theta), na.rm=TRUE)) > Mlim <- c(-1,1)*4 > xlab <- "Fragment length" > ylab <- expression(log2(theta)) > Mlab <- expression(M==log[2](theta/theta[R])) > > layout(matrix(1:(3*I), ncol=I, byrow=TRUE)) > for (ii in 1:I) { + plot(NA, xlim=xlim, ylim=ylim, xlab=xlab, ylab=ylab, main="raw") + + # Single-enzyme units + for (ee in 1:2) { + # The raw data + uu <- unitSets[[ee]] + points(fl[uu,ee], log2(theta[uu,ii]), col=ee+1) + } + + # Both-enzyme units (use fragment-length for enzyme #1) + uu <- unitSets$both + points(fl[uu,1], log2(theta[uu,ii]), col=3+1) + + for (ee in 1:2) { + # The true effects + uu <- unitSets[[ee]] + lines(lowess(fl[uu,ee], log2(theta[uu,ii])), col="black", lwd=4, lty=3) + + # The estimated effects + fit <- fits[[ii]][[ee]]$fit + lines(fit, col="orange", lwd=3) + + muT <- targetFcns[[ee]](fl[uu,ee]) + lines(fl[uu,ee], muT, col="cyan", lwd=1) + } + } > > # Calculate log-ratios > thetaR <- rowMeans(thetaN, na.rm=TRUE) > M <- log2(thetaN/thetaR) > > # Plot normalized data > for (ii in 1:I) { + plot(NA, xlim=xlim, ylim=Mlim, xlab=xlab, ylab=Mlab, main="normalized") + # Single-enzyme units + for (ee in 1:2) { + # The normalized data + uu <- unitSets[[ee]] + points(fl[uu,ee], M[uu,ii], col=ee+1) + } + # Both-enzyme units (use fragment-length for enzyme #1) + uu <- unitSets$both + points(fl[uu,1], M[uu,ii], col=3+1) + } > > ylim <- c(0,1.5) > for (ii in 1:I) { + data <- list() + for (ee in 1:2) { + # The normalized data + uu <- unitSets[[ee]] + data[[ee]] <- M[uu,ii] + } + uu <- unitSets$both + if (length(uu) > 0) + data[[3]] <- M[uu,ii] + + uu <- unitSets$none + if (length(uu) > 0) + data[[4]] <- M[uu,ii] + + cols <- seq_along(data)+1 + plotDensity(data, col=cols, xlim=Mlim, xlab=Mlab, main="normalized") + + abline(v=0, lty=2) + } > > > proc.time() user system elapsed 0.68 0.06 0.73 |
aroma.light.Rcheck/tests_x64/normalizeFragmentLength-ex2.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > # Example 2: Two-enzyme fragment-length normalization of 6 arrays > # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > set.seed(0xbeef) > > # Number samples > I <- 5 > > # Number of loci > J <- 3000 > > # Fragment lengths (two enzymes) > fl <- matrix(0, nrow=J, ncol=2) > fl[,1] <- seq(from=100, to=1000, length.out=J) > fl[,2] <- seq(from=1000, to=100, length.out=J) > > # Let 1/2 of the units be on both enzymes > fl[seq(from=1, to=J, by=4),1] <- NA_real_ > fl[seq(from=2, to=J, by=4),2] <- NA_real_ > > # Let some have unknown fragment lengths > hasUnknownFL <- seq(from=1, to=J, by=15) > fl[hasUnknownFL,] <- NA_real_ > > # Sty/Nsp mixing proportions: > rho <- rep(1, I) > rho[1] <- 1/3; # Less Sty in 1st sample > rho[3] <- 3/2; # More Sty in 3rd sample > > > # Simulate data > z <- array(0, dim=c(J,2,I)) > maxLog2Theta <- 12 > for (ii in 1:I) { + # Common effect for both enzymes + mu <- function(fl) { + k <- runif(n=1, min=3, max=5) + mu <- rep(maxLog2Theta, length(fl)) + ok <- is.finite(fl) + mu[ok] <- mu[ok] - fl[ok]^{1/k} + mu + } + + # Calculate the effect for each data point + for (ee in 1:2) { + z[,ee,ii] <- mu(fl[,ee]) + } + + # Update the Sty/Nsp mixing proportions + ee <- 2 + z[,ee,ii] <- rho[ii]*z[,ee,ii] + + # Add random errors + for (ee in 1:2) { + eps <- rnorm(J, mean=0, sd=1/sqrt(2)) + z[,ee,ii] <- z[,ee,ii] + eps + } + } > > > hasFl <- is.finite(fl) > > unitSets <- list( + nsp = which( hasFl[,1] & !hasFl[,2]), + sty = which(!hasFl[,1] & hasFl[,2]), + both = which( hasFl[,1] & hasFl[,2]), + none = which(!hasFl[,1] & !hasFl[,2]) + ) > > # The observed data is a mix of two enzymes > theta <- matrix(NA_real_, nrow=J, ncol=I) > > # Single-enzyme units > for (ee in 1:2) { + uu <- unitSets[[ee]] + theta[uu,] <- 2^z[uu,ee,] + } > > # Both-enzyme units (sum on intensity scale) > uu <- unitSets$both > theta[uu,] <- (2^z[uu,1,]+2^z[uu,2,])/2 > > # Missing units (sample from the others) > uu <- unitSets$none > theta[uu,] <- apply(theta, MARGIN=2, sample, size=length(uu)) > > # Calculate target array > thetaT <- rowMeans(theta, na.rm=TRUE) > targetFcns <- list() > for (ee in 1:2) { + uu <- unitSets[[ee]] + fit <- lowess(fl[uu,ee], log2(thetaT[uu])) + class(fit) <- "lowess" + targetFcns[[ee]] <- function(fl, ...) { + predict(fit, newdata=fl) + } + } > > > # Fit model only to a subset of the data > subsetToFit <- setdiff(1:J, seq(from=1, to=J, by=10)) > > # Normalize data (to a target baseline) > thetaN <- matrix(NA_real_, nrow=J, ncol=I) > fits <- vector("list", I) > for (ii in 1:I) { + lthetaNi <- normalizeFragmentLength(log2(theta[,ii]), targetFcns=targetFcns, + fragmentLengths=fl, onMissing="median", + subsetToFit=subsetToFit, .returnFit=TRUE) + fits[[ii]] <- attr(lthetaNi, "modelFit") + thetaN[,ii] <- 2^lthetaNi + } > > > # Plot raw data > xlim <- c(0, max(fl, na.rm=TRUE)) > ylim <- c(0, max(log2(theta), na.rm=TRUE)) > Mlim <- c(-1,1)*4 > xlab <- "Fragment length" > ylab <- expression(log2(theta)) > Mlab <- expression(M==log[2](theta/theta[R])) > > layout(matrix(1:(3*I), ncol=I, byrow=TRUE)) > for (ii in 1:I) { + plot(NA, xlim=xlim, ylim=ylim, xlab=xlab, ylab=ylab, main="raw") + + # Single-enzyme units + for (ee in 1:2) { + # The raw data + uu <- unitSets[[ee]] + points(fl[uu,ee], log2(theta[uu,ii]), col=ee+1) + } + + # Both-enzyme units (use fragment-length for enzyme #1) + uu <- unitSets$both + points(fl[uu,1], log2(theta[uu,ii]), col=3+1) + + for (ee in 1:2) { + # The true effects + uu <- unitSets[[ee]] + lines(lowess(fl[uu,ee], log2(theta[uu,ii])), col="black", lwd=4, lty=3) + + # The estimated effects + fit <- fits[[ii]][[ee]]$fit + lines(fit, col="orange", lwd=3) + + muT <- targetFcns[[ee]](fl[uu,ee]) + lines(fl[uu,ee], muT, col="cyan", lwd=1) + } + } > > # Calculate log-ratios > thetaR <- rowMeans(thetaN, na.rm=TRUE) > M <- log2(thetaN/thetaR) > > # Plot normalized data > for (ii in 1:I) { + plot(NA, xlim=xlim, ylim=Mlim, xlab=xlab, ylab=Mlab, main="normalized") + # Single-enzyme units + for (ee in 1:2) { + # The normalized data + uu <- unitSets[[ee]] + points(fl[uu,ee], M[uu,ii], col=ee+1) + } + # Both-enzyme units (use fragment-length for enzyme #1) + uu <- unitSets$both + points(fl[uu,1], M[uu,ii], col=3+1) + } > > ylim <- c(0,1.5) > for (ii in 1:I) { + data <- list() + for (ee in 1:2) { + # The normalized data + uu <- unitSets[[ee]] + data[[ee]] <- M[uu,ii] + } + uu <- unitSets$both + if (length(uu) > 0) + data[[3]] <- M[uu,ii] + + uu <- unitSets$none + if (length(uu) > 0) + data[[4]] <- M[uu,ii] + + cols <- seq_along(data)+1 + plotDensity(data, col=cols, xlim=Mlim, xlab=Mlab, main="normalized") + + abline(v=0, lty=2) + } > > > proc.time() user system elapsed 0.78 0.04 0.81 |
aroma.light.Rcheck/tests_i386/normalizeQuantileRank.list.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate ten samples of different lengths > N <- 10000 > X <- list() > for (kk in 1:8) { + rfcn <- list(rnorm, rgamma)[[sample(2, size=1)]] + size <- runif(1, min=0.3, max=1) + a <- rgamma(1, shape=20, rate=10) + b <- rgamma(1, shape=10, rate=10) + values <- rfcn(size*N, a, b) + + # "Censor" values + values[values < 0 | values > 8] <- NA_real_ + + X[[kk]] <- values + } > > # Add 20% missing values > X <- lapply(X, FUN=function(x) { + x[sample(length(x), size=0.20*length(x))] <- NA_real_ + x + }) > > # Normalize quantiles > Xn <- normalizeQuantile(X) > > # Plot the data > layout(matrix(1:2, ncol=1)) > xlim <- range(X, na.rm=TRUE) > plotDensity(X, lwd=2, xlim=xlim, main="The original distributions") > plotDensity(Xn, lwd=2, xlim=xlim, main="The normalized distributions") > > proc.time() user system elapsed 0.40 0.06 0.45 |
aroma.light.Rcheck/tests_x64/normalizeQuantileRank.list.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate ten samples of different lengths > N <- 10000 > X <- list() > for (kk in 1:8) { + rfcn <- list(rnorm, rgamma)[[sample(2, size=1)]] + size <- runif(1, min=0.3, max=1) + a <- rgamma(1, shape=20, rate=10) + b <- rgamma(1, shape=10, rate=10) + values <- rfcn(size*N, a, b) + + # "Censor" values + values[values < 0 | values > 8] <- NA_real_ + + X[[kk]] <- values + } > > # Add 20% missing values > X <- lapply(X, FUN=function(x) { + x[sample(length(x), size=0.20*length(x))] <- NA_real_ + x + }) > > # Normalize quantiles > Xn <- normalizeQuantile(X) > > # Plot the data > layout(matrix(1:2, ncol=1)) > xlim <- range(X, na.rm=TRUE) > plotDensity(X, lwd=2, xlim=xlim, main="The original distributions") > plotDensity(Xn, lwd=2, xlim=xlim, main="The normalized distributions") > > proc.time() user system elapsed 0.60 0.07 0.68 |
aroma.light.Rcheck/tests_i386/normalizeQuantileRank.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate three samples with on average 20% missing values > N <- 10000 > X <- cbind(rnorm(N, mean=3, sd=1), + rnorm(N, mean=4, sd=2), + rgamma(N, shape=2, rate=1)) > X[sample(3*N, size=0.20*3*N)] <- NA_real_ > > # Normalize quantiles > Xn <- normalizeQuantile(X) > > # Plot the data > layout(matrix(1:2, ncol=1)) > xlim <- range(X, Xn, na.rm=TRUE) > plotDensity(X, lwd=2, xlim=xlim, main="The three original distributions") > plotDensity(Xn, lwd=2, xlim=xlim, main="The three normalized distributions") > > proc.time() user system elapsed 0.29 0.07 0.37 |
aroma.light.Rcheck/tests_x64/normalizeQuantileRank.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate three samples with on average 20% missing values > N <- 10000 > X <- cbind(rnorm(N, mean=3, sd=1), + rnorm(N, mean=4, sd=2), + rgamma(N, shape=2, rate=1)) > X[sample(3*N, size=0.20*3*N)] <- NA_real_ > > # Normalize quantiles > Xn <- normalizeQuantile(X) > > # Plot the data > layout(matrix(1:2, ncol=1)) > xlim <- range(X, Xn, na.rm=TRUE) > plotDensity(X, lwd=2, xlim=xlim, main="The three original distributions") > plotDensity(Xn, lwd=2, xlim=xlim, main="The three normalized distributions") > > proc.time() user system elapsed 0.40 0.09 0.50 |
aroma.light.Rcheck/tests_i386/normalizeQuantileSpline.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate three samples with on average 20% missing values > N <- 10000 > X <- cbind(rnorm(N, mean=3, sd=1), + rnorm(N, mean=4, sd=2), + rgamma(N, shape=2, rate=1)) > X[sample(3*N, size=0.20*3*N)] <- NA_real_ > > # Plot the data > layout(matrix(c(1,0,2:5), ncol=2, byrow=TRUE)) > xlim <- range(X, na.rm=TRUE) > plotDensity(X, lwd=2, xlim=xlim, main="The three original distributions") > > Xn <- normalizeQuantile(X) > plotDensity(Xn, lwd=2, xlim=xlim, main="The three normalized distributions") > plotXYCurve(X, Xn, xlim=xlim, main="The three normalized distributions") > > Xn2 <- normalizeQuantileSpline(X, xTarget=Xn[,1], spar=0.99) > plotDensity(Xn2, lwd=2, xlim=xlim, main="The three normalized distributions") > plotXYCurve(X, Xn2, xlim=xlim, main="The three normalized distributions") > > proc.time() user system elapsed 1.40 0.15 1.54 |
aroma.light.Rcheck/tests_x64/normalizeQuantileSpline.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate three samples with on average 20% missing values > N <- 10000 > X <- cbind(rnorm(N, mean=3, sd=1), + rnorm(N, mean=4, sd=2), + rgamma(N, shape=2, rate=1)) > X[sample(3*N, size=0.20*3*N)] <- NA_real_ > > # Plot the data > layout(matrix(c(1,0,2:5), ncol=2, byrow=TRUE)) > xlim <- range(X, na.rm=TRUE) > plotDensity(X, lwd=2, xlim=xlim, main="The three original distributions") > > Xn <- normalizeQuantile(X) > plotDensity(Xn, lwd=2, xlim=xlim, main="The three normalized distributions") > plotXYCurve(X, Xn, xlim=xlim, main="The three normalized distributions") > > Xn2 <- normalizeQuantileSpline(X, xTarget=Xn[,1], spar=0.99) > plotDensity(Xn2, lwd=2, xlim=xlim, main="The three normalized distributions") > plotXYCurve(X, Xn2, xlim=xlim, main="The three normalized distributions") > > proc.time() user system elapsed 1.07 0.07 1.14 |
aroma.light.Rcheck/tests_i386/normalizeTumorBoost.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > library("R.utils") Loading required package: R.oo Loading required package: R.methodsS3 R.methodsS3 v1.8.0 (2020-02-14 07:10:20 UTC) successfully loaded. See ?R.methodsS3 for help. R.oo v1.23.0 successfully loaded. See ?R.oo for help. Attaching package: 'R.oo' The following object is masked from 'package:R.methodsS3': throw The following objects are masked from 'package:methods': getClasses, getMethods The following objects are masked from 'package:base': attach, detach, load, save R.utils v2.9.2 successfully loaded. See ?R.utils for help. Attaching package: 'R.utils' The following object is masked from 'package:utils': timestamp The following objects are masked from 'package:base': cat, commandArgs, getOption, inherits, isOpen, nullfile, parse, warnings > > # Load data > pathname <- system.file("data-ex/TumorBoost,fracB,exampleData.Rbin", package="aroma.light") > data <- loadObject(pathname) > attachLocally(data) > pos <- position/1e6 > muN <- genotypeN > > layout(matrix(1:4, ncol=1)) > par(mar=c(2.5,4,0.5,1)+0.1) > ylim <- c(-0.05, 1.05) > col <- rep("#999999", length(muN)) > col[muN == 1/2] <- "#000000" > > # Allele B fractions for the normal sample > plot(pos, betaN, col=col, ylim=ylim) > > # Allele B fractions for the tumor sample > plot(pos, betaT, col=col, ylim=ylim) > > # TumorBoost w/ naive genotype calls > betaTN <- normalizeTumorBoost(betaT=betaT, betaN=betaN, preserveScale=FALSE) > plot(pos, betaTN, col=col, ylim=ylim) > > # TumorBoost w/ external multi-sample genotype calls > betaTNx <- normalizeTumorBoost(betaT=betaT, betaN=betaN, muN=muN, preserveScale=FALSE) > plot(pos, betaTNx, col=col, ylim=ylim) > > proc.time() user system elapsed 0.65 0.09 0.73 |
aroma.light.Rcheck/tests_x64/normalizeTumorBoost.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > library("R.utils") Loading required package: R.oo Loading required package: R.methodsS3 R.methodsS3 v1.8.0 (2020-02-14 07:10:20 UTC) successfully loaded. See ?R.methodsS3 for help. R.oo v1.23.0 successfully loaded. See ?R.oo for help. Attaching package: 'R.oo' The following object is masked from 'package:R.methodsS3': throw The following objects are masked from 'package:methods': getClasses, getMethods The following objects are masked from 'package:base': attach, detach, load, save R.utils v2.9.2 successfully loaded. See ?R.utils for help. Attaching package: 'R.utils' The following object is masked from 'package:utils': timestamp The following objects are masked from 'package:base': cat, commandArgs, getOption, inherits, isOpen, nullfile, parse, warnings > > # Load data > pathname <- system.file("data-ex/TumorBoost,fracB,exampleData.Rbin", package="aroma.light") > data <- loadObject(pathname) > attachLocally(data) > pos <- position/1e6 > muN <- genotypeN > > layout(matrix(1:4, ncol=1)) > par(mar=c(2.5,4,0.5,1)+0.1) > ylim <- c(-0.05, 1.05) > col <- rep("#999999", length(muN)) > col[muN == 1/2] <- "#000000" > > # Allele B fractions for the normal sample > plot(pos, betaN, col=col, ylim=ylim) > > # Allele B fractions for the tumor sample > plot(pos, betaT, col=col, ylim=ylim) > > # TumorBoost w/ naive genotype calls > betaTN <- normalizeTumorBoost(betaT=betaT, betaN=betaN, preserveScale=FALSE) > plot(pos, betaTN, col=col, ylim=ylim) > > # TumorBoost w/ external multi-sample genotype calls > betaTNx <- normalizeTumorBoost(betaT=betaT, betaN=betaN, muN=muN, preserveScale=FALSE) > plot(pos, betaTNx, col=col, ylim=ylim) > > proc.time() user system elapsed 0.70 0.03 0.71 |
aroma.light.Rcheck/tests_i386/normalizeTumorBoost,flavors.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > library("R.utils") Loading required package: R.oo Loading required package: R.methodsS3 R.methodsS3 v1.8.0 (2020-02-14 07:10:20 UTC) successfully loaded. See ?R.methodsS3 for help. R.oo v1.23.0 successfully loaded. See ?R.oo for help. Attaching package: 'R.oo' The following object is masked from 'package:R.methodsS3': throw The following objects are masked from 'package:methods': getClasses, getMethods The following objects are masked from 'package:base': attach, detach, load, save R.utils v2.9.2 successfully loaded. See ?R.utils for help. Attaching package: 'R.utils' The following object is masked from 'package:utils': timestamp The following objects are masked from 'package:base': cat, commandArgs, getOption, inherits, isOpen, nullfile, parse, warnings > > # Load data > pathname <- system.file("data-ex/TumorBoost,fracB,exampleData.Rbin", package="aroma.light") > data <- loadObject(pathname) > > # Drop loci with missing values > data <- na.omit(data) > > attachLocally(data) > pos <- position/1e6 > > # Call naive genotypes > muN <- callNaiveGenotypes(betaN) > > # Genotype classes > isAA <- (muN == 0) > isAB <- (muN == 1/2) > isBB <- (muN == 1) > > # Sanity checks > stopifnot(all(muN[isAA] == 0)) > stopifnot(all(muN[isAB] == 1/2)) > stopifnot(all(muN[isBB] == 1)) > > # TumorBoost normalization with different flavors > betaTNs <- list() > for (flavor in c("v1", "v2", "v3", "v4")) { + betaTN <- normalizeTumorBoost(betaT=betaT, betaN=betaN, preserveScale=FALSE, flavor=flavor) + + # Assert that no non-finite values are introduced + stopifnot(all(is.finite(betaTN))) + + # Assert that nothing is flipped + stopifnot(all(betaTN[isAA] < 1/2)) + stopifnot(all(betaTN[isBB] > 1/2)) + + betaTNs[[flavor]] <- betaTN + } > > # Plot > layout(matrix(1:4, ncol=1)) > par(mar=c(2.5,4,0.5,1)+0.1) > ylim <- c(-0.05, 1.05) > col <- rep("#999999", length(muN)) > col[muN == 1/2] <- "#000000" > for (flavor in names(betaTNs)) { + betaTN <- betaTNs[[flavor]] + ylab <- sprintf("betaTN[%s]", flavor) + plot(pos, betaTN, col=col, ylim=ylim, ylab=ylab) + } > > proc.time() user system elapsed 0.53 0.01 0.53 |
aroma.light.Rcheck/tests_x64/normalizeTumorBoost,flavors.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > library("R.utils") Loading required package: R.oo Loading required package: R.methodsS3 R.methodsS3 v1.8.0 (2020-02-14 07:10:20 UTC) successfully loaded. See ?R.methodsS3 for help. R.oo v1.23.0 successfully loaded. See ?R.oo for help. Attaching package: 'R.oo' The following object is masked from 'package:R.methodsS3': throw The following objects are masked from 'package:methods': getClasses, getMethods The following objects are masked from 'package:base': attach, detach, load, save R.utils v2.9.2 successfully loaded. See ?R.utils for help. Attaching package: 'R.utils' The following object is masked from 'package:utils': timestamp The following objects are masked from 'package:base': cat, commandArgs, getOption, inherits, isOpen, nullfile, parse, warnings > > # Load data > pathname <- system.file("data-ex/TumorBoost,fracB,exampleData.Rbin", package="aroma.light") > data <- loadObject(pathname) > > # Drop loci with missing values > data <- na.omit(data) > > attachLocally(data) > pos <- position/1e6 > > # Call naive genotypes > muN <- callNaiveGenotypes(betaN) > > # Genotype classes > isAA <- (muN == 0) > isAB <- (muN == 1/2) > isBB <- (muN == 1) > > # Sanity checks > stopifnot(all(muN[isAA] == 0)) > stopifnot(all(muN[isAB] == 1/2)) > stopifnot(all(muN[isBB] == 1)) > > # TumorBoost normalization with different flavors > betaTNs <- list() > for (flavor in c("v1", "v2", "v3", "v4")) { + betaTN <- normalizeTumorBoost(betaT=betaT, betaN=betaN, preserveScale=FALSE, flavor=flavor) + + # Assert that no non-finite values are introduced + stopifnot(all(is.finite(betaTN))) + + # Assert that nothing is flipped + stopifnot(all(betaTN[isAA] < 1/2)) + stopifnot(all(betaTN[isBB] > 1/2)) + + betaTNs[[flavor]] <- betaTN + } > > # Plot > layout(matrix(1:4, ncol=1)) > par(mar=c(2.5,4,0.5,1)+0.1) > ylim <- c(-0.05, 1.05) > col <- rep("#999999", length(muN)) > col[muN == 1/2] <- "#000000" > for (flavor in names(betaTNs)) { + betaTN <- betaTNs[[flavor]] + ylab <- sprintf("betaTN[%s]", flavor) + plot(pos, betaTN, col=col, ylim=ylim, ylab=ylab) + } > > proc.time() user system elapsed 0.79 0.01 0.79 |
aroma.light.Rcheck/tests_i386/robustSmoothSpline.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > data(cars) > attach(cars) > plot(speed, dist, main = "data(cars) & robust smoothing splines") > > # Fit a smoothing spline using L_2 norm > cars.spl <- smooth.spline(speed, dist) > lines(cars.spl, col = "blue") > > # Fit a smoothing spline using L_1 norm > cars.rspl <- robustSmoothSpline(speed, dist) Warning message: In stats.smooth.spline(g$x, g$yin, w = w, ..., tol = tol) : smoothing parameter value too large setting df = 1 __use with care!__ > lines(cars.rspl, col = "red") > > # Fit a smoothing spline using L_2 norm with 10 degrees of freedom > lines(smooth.spline(speed, dist, df=10), lty=2, col = "blue") > > # Fit a smoothing spline using L_1 norm with 10 degrees of freedom > lines(robustSmoothSpline(speed, dist, df=10), lty=2, col = "red") > > # Fit a smoothing spline using Tukey's biweight norm > cars.rspl <- robustSmoothSpline(speed, dist, method = "symmetric") > lines(cars.rspl, col = "purple") > > legend(5,120, c( + paste("smooth.spline [C.V.] => df =",round(cars.spl$df,1)), + paste("robustSmoothSpline L1 [C.V.] => df =",round(cars.rspl$df,1)), + paste("robustSmoothSpline symmetric [C.V.] => df =",round(cars.rspl$df,1)), + "standard with s( * , df = 10)", "robust with s( * , df = 10)" + ), + col = c("blue","red","purple","blue","red"), lty = c(1,1,1,2,2), + bg='bisque') > > proc.time() user system elapsed 0.39 0.10 0.48 |
aroma.light.Rcheck/tests_x64/robustSmoothSpline.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > data(cars) > attach(cars) > plot(speed, dist, main = "data(cars) & robust smoothing splines") > > # Fit a smoothing spline using L_2 norm > cars.spl <- smooth.spline(speed, dist) > lines(cars.spl, col = "blue") > > # Fit a smoothing spline using L_1 norm > cars.rspl <- robustSmoothSpline(speed, dist) > lines(cars.rspl, col = "red") > > # Fit a smoothing spline using L_2 norm with 10 degrees of freedom > lines(smooth.spline(speed, dist, df=10), lty=2, col = "blue") > > # Fit a smoothing spline using L_1 norm with 10 degrees of freedom > lines(robustSmoothSpline(speed, dist, df=10), lty=2, col = "red") > > # Fit a smoothing spline using Tukey's biweight norm > cars.rspl <- robustSmoothSpline(speed, dist, method = "symmetric") > lines(cars.rspl, col = "purple") > > legend(5,120, c( + paste("smooth.spline [C.V.] => df =",round(cars.spl$df,1)), + paste("robustSmoothSpline L1 [C.V.] => df =",round(cars.rspl$df,1)), + paste("robustSmoothSpline symmetric [C.V.] => df =",round(cars.rspl$df,1)), + "standard with s( * , df = 10)", "robust with s( * , df = 10)" + ), + col = c("blue","red","purple","blue","red"), lty = c(1,1,1,2,2), + bg='bisque') > > proc.time() user system elapsed 0.62 0.04 0.65 |
aroma.light.Rcheck/tests_i386/rowAverages.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > X <- matrix(1:30, nrow=5L, ncol=6L) > mu <- rowMeans(X) > sd <- apply(X, MARGIN=1L, FUN=sd) > > y <- rowAverages(X) > stopifnot(all(y == mu)) > stopifnot(all(attr(y,"deviance") == sd)) > stopifnot(all(attr(y,"df") == ncol(X))) > > proc.time() user system elapsed 0.37 0.06 0.42 |
aroma.light.Rcheck/tests_x64/rowAverages.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > X <- matrix(1:30, nrow=5L, ncol=6L) > mu <- rowMeans(X) > sd <- apply(X, MARGIN=1L, FUN=sd) > > y <- rowAverages(X) > stopifnot(all(y == mu)) > stopifnot(all(attr(y,"deviance") == sd)) > stopifnot(all(attr(y,"df") == ncol(X))) > > proc.time() user system elapsed 0.26 0.09 0.34 |
aroma.light.Rcheck/tests_i386/sampleCorrelations.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate 20000 genes with 10 observations each > X <- matrix(rnorm(n=20000), ncol=10) > > # Calculate the correlation for 5000 random gene pairs > cor <- sampleCorrelations(X, npairs=5000) > print(summary(cor)) Min. 1st Qu. Median Mean 3rd Qu. Max. -0.9206054 -0.2406409 -0.0058430 0.0007851 0.2461100 0.8911576 > > > proc.time() user system elapsed 0.75 0.04 0.78 |
aroma.light.Rcheck/tests_x64/sampleCorrelations.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # Simulate 20000 genes with 10 observations each > X <- matrix(rnorm(n=20000), ncol=10) > > # Calculate the correlation for 5000 random gene pairs > cor <- sampleCorrelations(X, npairs=5000) > print(summary(cor)) Min. 1st Qu. Median Mean 3rd Qu. Max. -0.911320 -0.247599 -0.004280 -0.002111 0.247332 0.882858 > > > proc.time() user system elapsed 0.57 0.07 0.64 |
aroma.light.Rcheck/tests_i386/sampleTuples.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > pairs <- sampleTuples(1:10, size=5, length=2) > print(pairs) [,1] [,2] [1,] 3 9 [2,] 4 6 [3,] 10 9 [4,] 6 8 [5,] 10 8 > > triples <- sampleTuples(1:10, size=5, length=3) > print(triples) [,1] [,2] [,3] [1,] 9 1 2 [2,] 4 9 10 [3,] 6 1 3 [4,] 1 6 7 [5,] 7 4 10 > > # Allow tuples with repeated elements > quadruples <- sampleTuples(1:3, size=5, length=4, replace=TRUE) > print(quadruples) [,1] [,2] [,3] [,4] [1,] 2 3 2 2 [2,] 2 2 2 3 [3,] 1 2 2 1 [4,] 2 1 1 2 [5,] 1 1 2 1 > > proc.time() user system elapsed 0.39 0.03 0.40 |
aroma.light.Rcheck/tests_x64/sampleTuples.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > pairs <- sampleTuples(1:10, size=5, length=2) > print(pairs) [,1] [,2] [1,] 9 1 [2,] 8 6 [3,] 8 6 [4,] 3 8 [5,] 1 9 > > triples <- sampleTuples(1:10, size=5, length=3) > print(triples) [,1] [,2] [,3] [1,] 6 10 2 [2,] 4 3 10 [3,] 6 8 7 [4,] 8 4 10 [5,] 8 1 2 > > # Allow tuples with repeated elements > quadruples <- sampleTuples(1:3, size=5, length=4, replace=TRUE) > print(quadruples) [,1] [,2] [,3] [,4] [1,] 3 3 3 2 [2,] 2 2 2 1 [3,] 3 3 3 2 [4,] 2 2 3 2 [5,] 2 3 2 3 > > proc.time() user system elapsed 0.21 0.06 0.26 |
aroma.light.Rcheck/tests_i386/wpca.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > for (zzz in 0) { + + # This example requires plot3d() in R.basic [http://www.braju.com/R/] + if (!require(pkgName <- "R.basic", character.only=TRUE)) break + + # ------------------------------------------------------------- + # A first example + # ------------------------------------------------------------- + # Simulate data from the model y <- a + bx + eps(bx) + x <- rexp(1000) + a <- c(2,15,3) + b <- c(2,3,15) + bx <- outer(b,x) + eps <- apply(bx, MARGIN=2, FUN=function(x) rnorm(length(x), mean=0, sd=0.1*x)) + y <- a + bx + eps + y <- t(y) + + # Add some outliers by permuting the dimensions for 1/3 of the observations + idx <- sample(1:nrow(y), size=1/3*nrow(y)) + y[idx,] <- y[idx,c(2,3,1)] + + # Down-weight the outliers W times to demonstrate how weights are used + W <- 10 + + # Plot the data with fitted lines at four different view points + N <- 4 + theta <- seq(0,180,length.out=N) + phi <- rep(30, length.out=N) + + # Use a different color for each set of weights + col <- topo.colors(W) + + opar <- par(mar=c(1,1,1,1)+0.1) + layout(matrix(1:N, nrow=2, byrow=TRUE)) + for (kk in seq(theta)) { + # Plot the data + plot3d(y, theta=theta[kk], phi=phi[kk]) + + # First, same weights for all observations + w <- rep(1, length=nrow(y)) + + for (ww in 1:W) { + # Fit a line using IWPCA through data + fit <- wpca(y, w=w, swapDirections=TRUE) + + # Get the first principal component + ymid <- fit$xMean + d0 <- apply(y, MARGIN=2, FUN=min) - ymid + d1 <- apply(y, MARGIN=2, FUN=max) - ymid + b <- fit$vt[1,] + y0 <- -b * max(abs(d0)) + y1 <- b * max(abs(d1)) + yline <- matrix(c(y0,y1), nrow=length(b), ncol=2) + yline <- yline + ymid + + points3d(t(ymid), col=col) + lines3d(t(yline), col=col) + + # Down-weight outliers only, because here we know which they are. + w[idx] <- w[idx]/2 + } + + # Highlight the last one + lines3d(t(yline), col="red", lwd=3) + } + + par(opar) + + } # for (zzz in 0) Loading required package: R.basic Warning message: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package called 'R.basic' > rm(zzz) > > proc.time() user system elapsed 0.42 0.01 0.43 |
aroma.light.Rcheck/tests_x64/wpca.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > for (zzz in 0) { + + # This example requires plot3d() in R.basic [http://www.braju.com/R/] + if (!require(pkgName <- "R.basic", character.only=TRUE)) break + + # ------------------------------------------------------------- + # A first example + # ------------------------------------------------------------- + # Simulate data from the model y <- a + bx + eps(bx) + x <- rexp(1000) + a <- c(2,15,3) + b <- c(2,3,15) + bx <- outer(b,x) + eps <- apply(bx, MARGIN=2, FUN=function(x) rnorm(length(x), mean=0, sd=0.1*x)) + y <- a + bx + eps + y <- t(y) + + # Add some outliers by permuting the dimensions for 1/3 of the observations + idx <- sample(1:nrow(y), size=1/3*nrow(y)) + y[idx,] <- y[idx,c(2,3,1)] + + # Down-weight the outliers W times to demonstrate how weights are used + W <- 10 + + # Plot the data with fitted lines at four different view points + N <- 4 + theta <- seq(0,180,length.out=N) + phi <- rep(30, length.out=N) + + # Use a different color for each set of weights + col <- topo.colors(W) + + opar <- par(mar=c(1,1,1,1)+0.1) + layout(matrix(1:N, nrow=2, byrow=TRUE)) + for (kk in seq(theta)) { + # Plot the data + plot3d(y, theta=theta[kk], phi=phi[kk]) + + # First, same weights for all observations + w <- rep(1, length=nrow(y)) + + for (ww in 1:W) { + # Fit a line using IWPCA through data + fit <- wpca(y, w=w, swapDirections=TRUE) + + # Get the first principal component + ymid <- fit$xMean + d0 <- apply(y, MARGIN=2, FUN=min) - ymid + d1 <- apply(y, MARGIN=2, FUN=max) - ymid + b <- fit$vt[1,] + y0 <- -b * max(abs(d0)) + y1 <- b * max(abs(d1)) + yline <- matrix(c(y0,y1), nrow=length(b), ncol=2) + yline <- yline + ymid + + points3d(t(ymid), col=col) + lines3d(t(yline), col=col) + + # Down-weight outliers only, because here we know which they are. + w[idx] <- w[idx]/2 + } + + # Highlight the last one + lines3d(t(yline), col="red", lwd=3) + } + + par(opar) + + } # for (zzz in 0) Loading required package: R.basic Warning message: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package called 'R.basic' > rm(zzz) > > proc.time() user system elapsed 0.29 0.04 0.34 |
aroma.light.Rcheck/tests_i386/wpca2.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # ------------------------------------------------------------- > # A second example > # ------------------------------------------------------------- > # Data > x <- c(1,2,3,4,5) > y <- c(2,4,3,3,6) > > opar <- par(bty="L") > opalette <- palette(c("blue", "red", "black")) > xlim <- ylim <- c(0,6) > > # Plot the data and the center mass > plot(x,y, pch=16, cex=1.5, xlim=xlim, ylim=ylim) > points(mean(x), mean(y), cex=2, lwd=2, col="blue") > > > # Linear regression y ~ x > fit <- lm(y ~ x) > abline(fit, lty=1, col=1) > > # Linear regression y ~ x through without intercept > fit <- lm(y ~ x - 1) > abline(fit, lty=2, col=1) > > > # Linear regression x ~ y > fit <- lm(x ~ y) > c <- coefficients(fit) > b <- 1/c[2] > a <- -b*c[1] > abline(a=a, b=b, lty=1, col=2) > > # Linear regression x ~ y through without intercept > fit <- lm(x ~ y - 1) > b <- 1/coefficients(fit) > abline(a=0, b=b, lty=2, col=2) > > > # Orthogonal linear "regression" > fit <- wpca(cbind(x,y)) > > b <- fit$vt[1,2]/fit$vt[1,1] > a <- fit$xMean[2]-b*fit$xMean[1] > abline(a=a, b=b, lwd=2, col=3) > > # Orthogonal linear "regression" without intercept > fit <- wpca(cbind(x,y), center=FALSE) > b <- fit$vt[1,2]/fit$vt[1,1] > a <- fit$xMean[2]-b*fit$xMean[1] > abline(a=a, b=b, lty=2, lwd=2, col=3) > > legend(xlim[1],ylim[2], legend=c("lm(y~x)", "lm(y~x-1)", "lm(x~y)", + "lm(x~y-1)", "pca", "pca w/o intercept"), lty=rep(1:2,3), + lwd=rep(c(1,1,2),each=2), col=rep(1:3,each=2)) > > palette(opalette) > par(opar) > > proc.time() user system elapsed 0.31 0.04 0.34 |
aroma.light.Rcheck/tests_x64/wpca2.matrix.Rout R version 3.6.3 (2020-02-29) -- "Holding the Windsock" Copyright (C) 2020 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("aroma.light") aroma.light v3.16.0 (2019-08-28) successfully loaded. See ?aroma.light for help. > > # ------------------------------------------------------------- > # A second example > # ------------------------------------------------------------- > # Data > x <- c(1,2,3,4,5) > y <- c(2,4,3,3,6) > > opar <- par(bty="L") > opalette <- palette(c("blue", "red", "black")) > xlim <- ylim <- c(0,6) > > # Plot the data and the center mass > plot(x,y, pch=16, cex=1.5, xlim=xlim, ylim=ylim) > points(mean(x), mean(y), cex=2, lwd=2, col="blue") > > > # Linear regression y ~ x > fit <- lm(y ~ x) > abline(fit, lty=1, col=1) > > # Linear regression y ~ x through without intercept > fit <- lm(y ~ x - 1) > abline(fit, lty=2, col=1) > > > # Linear regression x ~ y > fit <- lm(x ~ y) > c <- coefficients(fit) > b <- 1/c[2] > a <- -b*c[1] > abline(a=a, b=b, lty=1, col=2) > > # Linear regression x ~ y through without intercept > fit <- lm(x ~ y - 1) > b <- 1/coefficients(fit) > abline(a=0, b=b, lty=2, col=2) > > > # Orthogonal linear "regression" > fit <- wpca(cbind(x,y)) > > b <- fit$vt[1,2]/fit$vt[1,1] > a <- fit$xMean[2]-b*fit$xMean[1] > abline(a=a, b=b, lwd=2, col=3) > > # Orthogonal linear "regression" without intercept > fit <- wpca(cbind(x,y), center=FALSE) > b <- fit$vt[1,2]/fit$vt[1,1] > a <- fit$xMean[2]-b*fit$xMean[1] > abline(a=a, b=b, lty=2, lwd=2, col=3) > > legend(xlim[1],ylim[2], legend=c("lm(y~x)", "lm(y~x-1)", "lm(x~y)", + "lm(x~y-1)", "pca", "pca w/o intercept"), lty=rep(1:2,3), + lwd=rep(c(1,1,2),each=2), col=rep(1:3,each=2)) > > palette(opalette) > par(opar) > > proc.time() user system elapsed 0.35 0.04 0.39 |
aroma.light.Rcheck/examples_i386/aroma.light-Ex.timings
|
aroma.light.Rcheck/examples_x64/aroma.light-Ex.timings
|