| Back to Multiple platform build/check report for BioC 3.9 |
|
This page was generated on 2019-10-16 12:24:17 -0400 (Wed, 16 Oct 2019).
| Package 1100/1741 | Hostname | OS / Arch | INSTALL | BUILD | CHECK | BUILD BIN | ||||||
| netresponse 1.44.0 Leo Lahti
| malbec2 | Linux (Ubuntu 18.04.2 LTS) / x86_64 | OK | OK | WARNINGS | |||||||
| tokay2 | Windows Server 2012 R2 Standard / x64 | OK | OK | [ WARNINGS ] | OK | |||||||
| celaya2 | OS X 10.11.6 El Capitan / x86_64 | OK | OK | WARNINGS | OK |
| Package: netresponse |
| Version: 1.44.0 |
| Command: C:\Users\biocbuild\bbs-3.9-bioc\R\bin\R.exe CMD check --force-multiarch --install=check:netresponse.install-out.txt --library=C:\Users\biocbuild\bbs-3.9-bioc\R\library --no-vignettes --timings netresponse_1.44.0.tar.gz |
| StartedAt: 2019-10-16 05:36:06 -0400 (Wed, 16 Oct 2019) |
| EndedAt: 2019-10-16 05:43:23 -0400 (Wed, 16 Oct 2019) |
| EllapsedTime: 437.1 seconds |
| RetCode: 0 |
| Status: WARNINGS |
| CheckDir: netresponse.Rcheck |
| Warnings: 1 |
##############################################################################
##############################################################################
###
### Running command:
###
### C:\Users\biocbuild\bbs-3.9-bioc\R\bin\R.exe CMD check --force-multiarch --install=check:netresponse.install-out.txt --library=C:\Users\biocbuild\bbs-3.9-bioc\R\library --no-vignettes --timings netresponse_1.44.0.tar.gz
###
##############################################################################
##############################################################################
* using log directory 'C:/Users/biocbuild/bbs-3.9-bioc/meat/netresponse.Rcheck'
* using R version 3.6.1 (2019-07-05)
* using platform: x86_64-w64-mingw32 (64-bit)
* using session charset: ISO8859-1
* using option '--no-vignettes'
* checking for file 'netresponse/DESCRIPTION' ... OK
* checking extension type ... Package
* this is package 'netresponse' version '1.44.0'
* checking package namespace information ... OK
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking if there is a namespace ... OK
* checking for hidden files and directories ... OK
* checking for portable file names ... OK
* checking whether package 'netresponse' 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 contents of 'data' directory ... OK
* checking data for non-ASCII characters ... OK
* checking data for ASCII and uncompressed saves ... OK
* checking line endings in C/C++/Fortran sources/headers ... OK
* checking line endings in Makefiles ... OK
* checking compilation flags in Makevars ... OK
* checking for GNU extensions in Makefiles ... OK
* checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK
* checking compiled code ... NOTE
File 'netresponse/libs/i386/netresponse.dll':
Found 'rand', possibly from 'rand' (C)
Object: 'netresponse.o'
Found 'srand', possibly from 'srand' (C)
Object: 'netresponse.o'
File 'netresponse/libs/x64/netresponse.dll':
Found 'rand', possibly from 'rand' (C)
Object: 'netresponse.o'
Found 'srand', possibly from 'srand' (C)
Object: 'netresponse.o'
Compiled code should not call entry points which might terminate R nor
write to stdout/stderr instead of to the console, nor use Fortran I/O
nor system RNGs.
See 'Writing portable packages' in the 'Writing R Extensions' manual.
* checking files in 'vignettes' ... WARNING
Files in the 'vignettes' directory but no files in 'inst/doc':
'NetResponse.Rmd', 'NetResponse.md', 'TODO/TODO.Rmd',
'fig/NetResponse2-1.png', 'fig/NetResponse2b-1.png',
'fig/NetResponse3-1.png', 'fig/NetResponse4-1.png',
'fig/NetResponse5-1.png', 'fig/NetResponse7-1.png',
'fig/vdp-1.png', 'main.R', 'netresponse.bib', 'netresponse.pdf'
Package has no Sweave vignette sources and no VignetteBuilder field.
* checking examples ...
** running examples for arch 'i386' ... OK
Examples with CPU or elapsed time > 5s
user system elapsed
ICMg.combined.sampler 54.42 0.06 54.49
** running examples for arch 'x64' ... OK
Examples with CPU or elapsed time > 5s
user system elapsed
ICMg.combined.sampler 37.47 0.05 37.51
* checking for unstated dependencies in 'tests' ... OK
* checking tests ...
** running tests for arch 'i386' ...
Running 'ICMg.test.R'
Running 'bicmixture.R'
Running 'mixture.model.test.R'
Running 'mixture.model.test.multimodal.R'
Running 'mixture.model.test.singlemode.R'
Running 'timing.R'
Running 'toydata2.R'
Running 'validate.netresponse.R'
Running 'validate.pca.basis.R'
Running 'vdpmixture.R'
OK
** running tests for arch 'x64' ...
Running 'ICMg.test.R'
Running 'bicmixture.R'
Running 'mixture.model.test.R'
Running 'mixture.model.test.multimodal.R'
Running 'mixture.model.test.singlemode.R'
Running 'timing.R'
Running 'toydata2.R'
Running 'validate.netresponse.R'
Running 'validate.pca.basis.R'
Running 'vdpmixture.R'
OK
* checking PDF version of manual ... OK
* DONE
Status: 1 WARNING, 1 NOTE
See
'C:/Users/biocbuild/bbs-3.9-bioc/meat/netresponse.Rcheck/00check.log'
for details.
netresponse.Rcheck/00install.out
##############################################################################
##############################################################################
###
### Running command:
###
### C:\cygwin\bin\curl.exe -O https://malbec2.bioconductor.org/BBS/3.9/bioc/src/contrib/netresponse_1.44.0.tar.gz && rm -rf netresponse.buildbin-libdir && mkdir netresponse.buildbin-libdir && C:\Users\biocbuild\bbs-3.9-bioc\R\bin\R.exe CMD INSTALL --merge-multiarch --build --library=netresponse.buildbin-libdir netresponse_1.44.0.tar.gz && C:\Users\biocbuild\bbs-3.9-bioc\R\bin\R.exe CMD INSTALL netresponse_1.44.0.zip && rm netresponse_1.44.0.tar.gz netresponse_1.44.0.zip
###
##############################################################################
##############################################################################
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 1030k 100 1030k 0 0 4237k 0 --:--:-- --:--:-- --:--:-- 4365k
install for i386
* installing *source* package 'netresponse' ...
** using staged installation
** libs
C:/Rtools/mingw_32/bin/gcc -I"C:/Users/BIOCBU~1/BBS-3~1.9-B/R/include" -DNDEBUG -I"C:/extsoft/include" -O3 -Wall -std=gnu99 -mtune=generic -c netresponse.c -o netresponse.o
netresponse.c: In function 'mHPpost':
netresponse.c:264:15: warning: unused variable 'prior_fields' [-Wunused-variable]
const char *prior_fields[]={"Mumu","S2mu",
^
netresponse.c: In function 'vdp_mk_hp_posterior':
netresponse.c:210:3: warning: 'U_hat_table' may be used uninitialized in this function [-Wmaybe-uninitialized]
update_centroids(datalen, ncentroids, dim1, dim2,
^
netresponse.c:210:3: warning: 'data2_int' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c: In function 'mLogLambda':
netresponse.c:713:3: warning: 'U_p' may be used uninitialized in this function [-Wmaybe-uninitialized]
vdp_mk_log_lambda(Mumu, S2mu, Mubar, Mutilde,
^
netresponse.c:713:3: warning: 'KsiBeta' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'KsiAlpha' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'BetaKsi' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'AlphaKsi' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'Mutilde' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'Mubar' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'S2mu' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'Mumu' may be used uninitialized in this function [-Wmaybe-uninitialized]
C:/Rtools/mingw_32/bin/gcc -shared -s -static-libgcc -o netresponse.dll tmp.def netresponse.o -LC:/extsoft/lib/i386 -LC:/extsoft/lib -LC:/Users/BIOCBU~1/BBS-3~1.9-B/R/bin/i386 -lR
installing to C:/Users/biocbuild/bbs-3.9-bioc/meat/netresponse.buildbin-libdir/00LOCK-netresponse/00new/netresponse/libs/i386
** R
** data
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
converting help for package 'netresponse'
finding HTML links ... done
ICMg.combined.sampler html
ICMg.get.comp.memberships html
ICMg.links.sampler html
NetResponseModel-class html
P.S html
P.Sr html
P.r.s html
P.rS html
P.rs.joint html
P.rs.joint.individual html
P.s.individual html
P.s.r html
PlotMixture html
PlotMixtureBivariate html
PlotMixtureMultivariate html
PlotMixtureMultivariate.deprecated html
PlotMixtureUnivariate html
add.ellipse html
bic.mixture html
bic.mixture.multivariate html
bic.mixture.univariate html
bic.select.best.mode html
centerData html
check.matrix html
check.network html
continuous.responses html
detect.responses html
dna html
enrichment.list.factor html
enrichment.list.factor.minimal html
factor.responses html
factor.responses.minimal html
filter.netw html
filter.network html
find.similar.features html
generate.toydata html
get.dat-NetResponseModel-method html
get.mis html
get.model.parameters html
get.subnets-NetResponseModel-method html
getqofz-NetResponseModel-method html
independent.models html
list.responses.continuous.multi html
list.responses.continuous.single html
list.responses.factor html
list.responses.factor.minimal html
list.significant.responses html
listify.groupings html
mixture.model html
model.stats html
netresponse-package html
order.responses html
osmo html
pick.model.pairs html
pick.model.parameters html
plotPCA html
plot_associations html
plot_data html
plot_expression html
plot_matrix html
plot_response html
plot_responses html
plot_scale html
plot_subnet html
read.sif html
remove.negative.edges html
response.enrichment html
response2sample html
sample2response html
set.breaks html
toydata html
update.model.pair html
vdp.mixt html
vectorize.groupings html
write.netresponse.results html
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
install for x64
* installing *source* package 'netresponse' ...
** libs
C:/Rtools/mingw_64/bin/gcc -I"C:/Users/BIOCBU~1/BBS-3~1.9-B/R/include" -DNDEBUG -I"C:/extsoft/include" -O2 -Wall -std=gnu99 -mtune=generic -c netresponse.c -o netresponse.o
netresponse.c: In function 'mHPpost':
netresponse.c:264:15: warning: unused variable 'prior_fields' [-Wunused-variable]
const char *prior_fields[]={"Mumu","S2mu",
^
netresponse.c: In function 'mLogLambda':
netresponse.c:713:3: warning: 'U_p' may be used uninitialized in this function [-Wmaybe-uninitialized]
vdp_mk_log_lambda(Mumu, S2mu, Mubar, Mutilde,
^
netresponse.c:713:3: warning: 'KsiBeta' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'KsiAlpha' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'BetaKsi' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'AlphaKsi' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'Mutilde' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'Mubar' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'S2mu' may be used uninitialized in this function [-Wmaybe-uninitialized]
netresponse.c:713:3: warning: 'Mumu' may be used uninitialized in this function [-Wmaybe-uninitialized]
C:/Rtools/mingw_64/bin/gcc -shared -s -static-libgcc -o netresponse.dll tmp.def netresponse.o -LC:/extsoft/lib/x64 -LC:/extsoft/lib -LC:/Users/BIOCBU~1/BBS-3~1.9-B/R/bin/x64 -lR
installing to C:/Users/biocbuild/bbs-3.9-bioc/meat/netresponse.buildbin-libdir/netresponse/libs/x64
** testing if installed package can be loaded
* MD5 sums
packaged installation of 'netresponse' as netresponse_1.44.0.zip
* DONE (netresponse)
* installing to library 'C:/Users/biocbuild/bbs-3.9-bioc/R/library'
package 'netresponse' successfully unpacked and MD5 sums checked
|
netresponse.Rcheck/tests_i386/bicmixture.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
> # 1. vdp.mixt: moodien loytyminen eri dimensiolla, naytemaarilla ja komponenteilla
> # -> ainakin nopea check
>
> #######################################################################
>
> # Generate random data from five Gaussians.
> # Detect modes with vdp-gm.
> # Plot data points and detected clusters with variance ellipses
>
> #######################################################################
>
> library(netresponse)
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
> #source("~/Rpackages/netresponse/netresponse/R/detect.responses.R")
> #source("~/Rpackages/netresponse/netresponse/R/internals.R")
> #source("~/Rpackages/netresponse/netresponse/R/vdp.mixt.R")
> #dyn.load("/home/tuli/Rpackages/netresponse/netresponse/src/netresponse.so")
>
> ######### Generate DATA #############################################
>
> # Generate Nc components from normal-inverseGamma prior
>
> set.seed(12346)
>
> dd <- 3 # Dimensionality of data
> Nc <- 5 # Number of components
> Ns <- 200 # Number of data points
> sd0 <- 3 # component spread
> rgam.shape = 2 # parameters for Gamma distribution
> rgam.scale = 2 # parameters for Gamma distribution to define precisions
>
>
> # Generate means and variances (covariance diagonals) for the components
> component.means <- matrix(rnorm(Nc*dd, mean = 0, sd = sd0), nrow = Nc, ncol = dd)
> component.vars <- matrix(1/rgamma(Nc*dd, shape = rgam.shape, scale = rgam.scale),
+ nrow = Nc, ncol = dd)
> component.sds <- sqrt(component.vars)
>
>
> # Size for each component -> sample randomly for each data point from uniform distr.
> # i.e. cluster assignments
> sample2comp <- sample.int(Nc, Ns, replace = TRUE)
>
> D <- array(NA, dim = c(Ns, dd))
> for (i in 1:Ns) {
+ # component identity of this sample
+ ci <- sample2comp[[i]]
+ cm <- component.means[ci,]
+ csd <- component.sds[ci,]
+ D[i,] <- rnorm(dd, mean = cm, sd = csd)
+ }
>
>
> ######################################################################
>
> # Fit mixture model
> out <- mixture.model(D, mixture.method = "bic")
>
> # FIXME rowmeans(qofz) is constant but not 1
> #qofz <- P.r.s(t(D), list(mu = out$mu, sd = out$sd, w = out$w), log = FALSE)
>
> ############################################################
>
> # Compare input data and results
>
> ord.out <- order(out$mu[,1])
> ord.in <- order(component.means[,1])
>
> means.out <- out$mu[ord.out,]
> means.in <- component.means[ord.in,]
>
> # Cluster stds and variances
> sds.out <- out$sd[ord.out,]
> sds.in <- sqrt(component.vars[ord.in,])
>
> # -----------------------------------------------------------
>
> vars.out <- sds.out^2
> vars.in <- sds.in^2
>
> # Check correspondence between input and output
> if (length(means.in) == length(means.out)) {
+ cm <- cor(as.vector(means.in), as.vector(means.out))
+ csd <- cor(as.vector(sds.in), as.vector(sds.out))
+ }
>
> # Plot results (assuming 2D)
>
> ran <- range(c(as.vector(means.in - 2*vars.in),
+ as.vector(means.in + 2*vars.in),
+ as.vector(means.out + 2*vars.out),
+ as.vector(means.out - 2*vars.out)))
>
> plot(D, pch = 20, main = paste("Cor.means:", round(cm,3), "/ Cor.sds:", round(csd,3)), xlim = ran, ylim = ran)
> for (ci in 1:nrow(means.out)) { add.ellipse(centroid = means.out[ci,], covmat = diag(vars.out[ci,]), col = "red") }
> for (ci in 1:nrow(means.in)) { add.ellipse(centroid = means.in[ci,], covmat = diag(vars.in[ci,]), col = "blue") }
>
> ######################################################
>
> #for (ci in 1:nrow(means.out)) {
> # points(means.out[ci,1], means.out[ci,2], col = "red", pch = 19)
> # el <- ellipse(matrix(c(vars.out[ci,1],0,0,vars.out[ci,2]),2), centre = means.out[ci,])
> # lines(el, col = "red")
> #}
>
> #for (ci in 1:nrow(means.in)) {
> # points(means.in[ci,1], means.in[ci,2], col = "blue", pch = 19)
> # el <- ellipse(matrix(c(vars.in[ci,1],0,0,vars.in[ci,2]),2), centre = means.in[ci,])
> # lines(el, col = "blue")
> #}
>
>
>
>
>
>
> proc.time()
user system elapsed
3.00 0.21 3.20
|
netresponse.Rcheck/tests_x64/bicmixture.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
> # 1. vdp.mixt: moodien loytyminen eri dimensiolla, naytemaarilla ja komponenteilla
> # -> ainakin nopea check
>
> #######################################################################
>
> # Generate random data from five Gaussians.
> # Detect modes with vdp-gm.
> # Plot data points and detected clusters with variance ellipses
>
> #######################################################################
>
> library(netresponse)
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
> #source("~/Rpackages/netresponse/netresponse/R/detect.responses.R")
> #source("~/Rpackages/netresponse/netresponse/R/internals.R")
> #source("~/Rpackages/netresponse/netresponse/R/vdp.mixt.R")
> #dyn.load("/home/tuli/Rpackages/netresponse/netresponse/src/netresponse.so")
>
> ######### Generate DATA #############################################
>
> # Generate Nc components from normal-inverseGamma prior
>
> set.seed(12346)
>
> dd <- 3 # Dimensionality of data
> Nc <- 5 # Number of components
> Ns <- 200 # Number of data points
> sd0 <- 3 # component spread
> rgam.shape = 2 # parameters for Gamma distribution
> rgam.scale = 2 # parameters for Gamma distribution to define precisions
>
>
> # Generate means and variances (covariance diagonals) for the components
> component.means <- matrix(rnorm(Nc*dd, mean = 0, sd = sd0), nrow = Nc, ncol = dd)
> component.vars <- matrix(1/rgamma(Nc*dd, shape = rgam.shape, scale = rgam.scale),
+ nrow = Nc, ncol = dd)
> component.sds <- sqrt(component.vars)
>
>
> # Size for each component -> sample randomly for each data point from uniform distr.
> # i.e. cluster assignments
> sample2comp <- sample.int(Nc, Ns, replace = TRUE)
>
> D <- array(NA, dim = c(Ns, dd))
> for (i in 1:Ns) {
+ # component identity of this sample
+ ci <- sample2comp[[i]]
+ cm <- component.means[ci,]
+ csd <- component.sds[ci,]
+ D[i,] <- rnorm(dd, mean = cm, sd = csd)
+ }
>
>
> ######################################################################
>
> # Fit mixture model
> out <- mixture.model(D, mixture.method = "bic")
>
> # FIXME rowmeans(qofz) is constant but not 1
> #qofz <- P.r.s(t(D), list(mu = out$mu, sd = out$sd, w = out$w), log = FALSE)
>
> ############################################################
>
> # Compare input data and results
>
> ord.out <- order(out$mu[,1])
> ord.in <- order(component.means[,1])
>
> means.out <- out$mu[ord.out,]
> means.in <- component.means[ord.in,]
>
> # Cluster stds and variances
> sds.out <- out$sd[ord.out,]
> sds.in <- sqrt(component.vars[ord.in,])
>
> # -----------------------------------------------------------
>
> vars.out <- sds.out^2
> vars.in <- sds.in^2
>
> # Check correspondence between input and output
> if (length(means.in) == length(means.out)) {
+ cm <- cor(as.vector(means.in), as.vector(means.out))
+ csd <- cor(as.vector(sds.in), as.vector(sds.out))
+ }
>
> # Plot results (assuming 2D)
>
> ran <- range(c(as.vector(means.in - 2*vars.in),
+ as.vector(means.in + 2*vars.in),
+ as.vector(means.out + 2*vars.out),
+ as.vector(means.out - 2*vars.out)))
>
> plot(D, pch = 20, main = paste("Cor.means:", round(cm,3), "/ Cor.sds:", round(csd,3)), xlim = ran, ylim = ran)
> for (ci in 1:nrow(means.out)) { add.ellipse(centroid = means.out[ci,], covmat = diag(vars.out[ci,]), col = "red") }
> for (ci in 1:nrow(means.in)) { add.ellipse(centroid = means.in[ci,], covmat = diag(vars.in[ci,]), col = "blue") }
>
> ######################################################
>
> #for (ci in 1:nrow(means.out)) {
> # points(means.out[ci,1], means.out[ci,2], col = "red", pch = 19)
> # el <- ellipse(matrix(c(vars.out[ci,1],0,0,vars.out[ci,2]),2), centre = means.out[ci,])
> # lines(el, col = "red")
> #}
>
> #for (ci in 1:nrow(means.in)) {
> # points(means.in[ci,1], means.in[ci,2], col = "blue", pch = 19)
> # el <- ellipse(matrix(c(vars.in[ci,1],0,0,vars.in[ci,2]),2), centre = means.in[ci,])
> # lines(el, col = "blue")
> #}
>
>
>
>
>
>
> proc.time()
user system elapsed
2.90 0.23 3.26
|
|
netresponse.Rcheck/tests_i386/ICMg.test.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
> # Test script for the ICMg method
>
> # Load the package
> library(netresponse)
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
>
> data(osmo) # Load data
>
> # Set parameters
> C.boost = 1
> alpha = 10
> beta = 0.01
> B.num = 10
> B.size = 10
> S.num = 10
> S.size = 10
> C = 24
> pm0 = 0
> V0 = 1
> V = 0.1
>
> # Run combined ICMg sampler
> res = ICMg.combined.sampler(osmo$ppi, osmo$exp, C, alpha, beta, pm0, V0, V, B.num, B.size, S.num, S.size, C.boost)
Sampling ICMg2...
nodes:10250links:1711observations:133components:24alpha:10beta:0.01
Sampling200iterationcs
Burnin iterations:100
I: 0
n(z):423416451464426424445413470481411424411405436410402408433433399415449401
m(z):858152666875706078706772617774678685577574537286
I:10
convL:-0.485659316104871n(z):3581843863375623272924043683542633142575043841900297231584394276371212691
convN:-0.00333969141187734m(z):8332214592798478465155937959481744269115103456719132
I:20
convL:-0.398478305389209n(z):5231963833604833013184264122432133652526153201905320158551324368274184756
convN:-0.00907234777291635m(z):883117459474867647525398785647173506011699456431131
I:30
convL:-0.364990972112831n(z):5881623863614103043114273982072153322346622622022327152560331393238191777
convN:-0.00316284365923724m(z):8830174497758377475253106845645174515811786456332131
I:40
convL:-0.362714380369176n(z):5421433333643672982954484102362013582457762292087310151550279429260183756
convN:-0.0063440185781131m(z):9529174498671158747524811281584017351629386455133127
I:50
convL:-0.366097660447869n(z):5181363503543283383054553872521793122618012202138301176560316385210176792
convN:-0.00207881683452883m(z):9732174395661158747524811182573917451609585455037126
I:60
convL:-0.353500564632613n(z):5061373243613403522924363982222073092588512072111298164605296368196152860
convN:-0.0100822772462707m(z):9532184495661168748524811081573817451609486455037127
I:70
convL:-0.336738816402091n(z):5171383153603723843033843942242033122428752182048280173605275308197159964
convN:-0.0018619973670504m(z):9734184497661158747524811182573817351609584455035125
I:80
convL:-0.33094082111189n(z):52013234136936741430937941021521130225784719419952921626012783081991361012
convN:-0.00186136246433471m(z):9734184497661158747524811182573817351609584455035125
I:90
convL:-0.335885325061072n(z):54714525336237342332036440420518132227889020820122871525492833072091521024
convN:-0.00233670618127284m(z):9734184496661158647524811181573817452609584455135125
I:100
convL:-0.333004287948743n(z):56213325338238045830133041720420929726086823219722861735582823231901551025
convN:-0.421370792934879m(z):9834184497661158647524811182573817351609484455135125
Sample iterations:100
I:110
convL:-0.332252131132185n(z):61013522937837038429331940319318930226886620519013211575592453412051711206
convN:-0.00629346495521731m(z):9634184599661158547524811283573817351609483454935126
I:120
convL:-0.336625247514637n(z):59712520335736542528230039620619030824391923019853221795102473142241691154
convN:-0.000686243643866975m(z):9734184496661158647524811182573817451609484455135126
I:130
convL:-0.332966121200394n(z):58613422135431843426832638223018729528890725819552991545392323432301651145
convN:-0.000700026859938095m(z):9733184497661158647524811182573817351609484455235126
I:140
convL:-0.330124680367147n(z):54812821436630646927931439220119630526188523619923121435372393862301671144
convN:-0.00137488056128451m(z):9733184496661158647524811282563817451609484455235126
I:150
convL:-0.32105755177616n(z):58114120235731342228331841219018733522690923420103111585502363252311851134
convN:-0.0022842403470251m(z):9733184396661158647524811182583817451609484455235126
I:160
convL:-0.33996224057925n(z):58013920834328738928331639820315331323194022119583211555822363662661881174
convN:-0.00453055882526843m(z):9734184397661158647524811182583817351609583455136125
I:170
convL:-0.326865556548947n(z):54112422036031541630330540819916331924090922019412991605702433452542021194
convN:-0.00433714938388007m(z):9734184398661158447524811182583817451619583455135125
I:180
convL:-0.322099251124483n(z):53613221535429441131428938620019832524890024619103341565962203642381981186
convN:-0.00302266712279891m(z):9734184396661158747524811182573817451619584455035125
I:190
convL:-0.320142745248046n(z):55414819535030942228028037319518028923592526819333171606202203272591951216
convN:-0.00210510270583222m(z):9734184396661158647524811183583817451609583455135125
I:200
convL:-0.316693206895751n(z):52613019635831839928330537218118229225495026218763191906082053642581921230
convN:-0.00113260073500352m(z):9734184396661158647524811182583817451609584455135125
DONE
>
> # Compute component membership probabilities for the data points
> res$comp.memb <- ICMg.get.comp.memberships(osmo$ppi, res)
>
> # Compute (hard) clustering for nodes
> res$clustering <- apply(res$comp.memb, 2, which.max)
>
> proc.time()
user system elapsed
12.45 0.32 12.76
|
netresponse.Rcheck/tests_x64/ICMg.test.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
> # Test script for the ICMg method
>
> # Load the package
> library(netresponse)
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
>
> data(osmo) # Load data
>
> # Set parameters
> C.boost = 1
> alpha = 10
> beta = 0.01
> B.num = 10
> B.size = 10
> S.num = 10
> S.size = 10
> C = 24
> pm0 = 0
> V0 = 1
> V = 0.1
>
> # Run combined ICMg sampler
> res = ICMg.combined.sampler(osmo$ppi, osmo$exp, C, alpha, beta, pm0, V0, V, B.num, B.size, S.num, S.size, C.boost)
Sampling ICMg2...
nodes:10250links:1711observations:133components:24alpha:10beta:0.01
Sampling200iterationcs
Burnin iterations:100
I: 0
n(z):403441445418425405442432381440411428426433438437431456453456408448409384
m(z):768170728673656571748290646483737176646953626661
I:10
convL:-0.45609503226925n(z):3633151782531802723152212704806262583452524702628452995562473592049639196
convN:-0.00275361675512276m(z):10257332225866461577413054615647579477785111416710539
I:20
convL:-0.389024028897228n(z):3142202072431732212992612544507112803332634662919333024952013502122712149
convN:-0.00516730269998294m(z):10258332225876263567413053605647579576794911616810538
I:30
convL:-0.379789531526148n(z):4062131912311701992913022824127642292943044812538473225251662992190744135
convN:-0.00757571213696822m(z):10258332225896363577412953595647599376774911616810538
I:40
convL:-0.367703582600513n(z):4162551772501372262932852563988082232873003952077903605991653102222732159
convN:-0.00636596373510522m(z):10358332337905959567812856595647579475775011615910536
I:50
convL:-0.358837343395663n(z):3392491572411372223072912493798422612723343042378843925981403132246681175
convN:-0.00187984803759943m(z):10359352236915559577612856595647599275774911615910936
I:60
convL:-0.346316207553315n(z):3472661852581152383152912344109232262752903412299213965951392952106694161
convN:-0.00169117135890927m(z):10259352236915559577612856615648599274774911515910936
I:70
convL:-0.348624411809019n(z):3632621392721312383112632544009952212662923322219283866301452912054727129
convN:-0.00325772407896142m(z):10159352336905458577712856625647579376774911516010936
I:80
convL:-0.328929129070529n(z):353260156274138238304215234412109721126624732317810143835941612922019728153
convN:-0.00326453435433915m(z):10159352236925458577712856635647589275774911416010936
I:90
convL:-0.353729094712157n(z):32524115828013721331021626037911312372592213392069783775791723002027727178
convN:-0.069137375095236m(z):10259352236915558567713055625546579175775011616010937
I:100
convL:-0.331707744697327n(z):31826917524714021729021124738412152142702173761969763965941462901927760175
convN:-0.00534705901124541m(z):10059352235925459567712856625447579273775012016010937
Sample iterations:100
I:110
convL:-0.323539182944509n(z):328279192263123200314192276381124320028120531721010783625551553041892747153
convN:-0.003201577266334m(z):9960352236925559577612956635447589271774912115810837
I:120
convL:-0.332589913968024n(z):30526218525712120628922325238913192132932053192509683445841523151918718163
convN:-0.00541086301666979m(z):9960352235925559577712956635447579271774912115810937
I:130
convL:-0.335937506624119n(z):31125619026115319630222124537312912202562033252469853575751583821880707157
convN:-0.00439582260315622m(z):10059352235925559577612956635447599171774912115810937
I:140
convL:-0.344215068854296n(z):29926217723615723328121926738913332152612153342499913595581443381852722159
convN:-0.00257666806477587m(z):10060352235915559577712856635447599171774912015910937
I:150
convL:-0.323015498533409n(z):306257173250138189304218252411139319926622137720110123445441753391834679168
convN:-0.00102451590608598m(z):10059352235915459577712856645546579271774912116010937
I:160
convL:-0.321907557301227n(z):32029419624114217526023928340514182152752153852369843595101353281817657161
convN:-Infm(z):10159352236915557577712856645545599171774912115811037
I:170
convL:-0.323152801773411n(z):293294198239133190275202264384142523427922539422610793465011413391786641162
convN:-0.00386917720482972m(z):10059352336915457577712856635545599171775012116010937
I:180
convL:-0.325381142942312n(z):285296180218147179273178250392146223329021738324810883545021403951752628160
convN:-0.00253007971138493m(z):10059352236915557577712856635545599171785012116010837
I:190
convL:-0.322609167463041n(z):270304203224146178276181265369152223026919537421711223304621483901814591170
convN:-0.00108241814250075m(z):10059352236925557577712856635545599171785012215810837
I:200
convL:-0.328846731886904n(z):264311179248153162305188259391151919924619641418711053294851763641789621160
convN:-0.00424023218149595m(z):10058352237935357577712856635545599171785012116010837
DONE
>
> # Compute component membership probabilities for the data points
> res$comp.memb <- ICMg.get.comp.memberships(osmo$ppi, res)
>
> # Compute (hard) clustering for nodes
> res$clustering <- apply(res$comp.memb, 2, which.max)
>
> proc.time()
user system elapsed
8.25 0.25 8.48
|
|
netresponse.Rcheck/tests_i386/mixture.model.test.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
> # Validate mixture models
>
> # Generate random data from five Gaussians.
> # Detect modes
> # Plot data points and detected clusters
>
> library(netresponse)
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
>
> #fs <- list.files("~/Rpackages/netresponse/netresponse/R/", full.names = TRUE); for (f in fs) {source(f)}; dyn.load("/home/tuli/Rpackages/netresponse/netresponse/src/netresponse.so")
>
> ######### Generate DATA #######################
>
> res <- generate.toydata()
> D <- res$data
> component.means <- res$means
> component.sds <- res$sds
> sample2comp <- res$sample2comp
>
> ######################################################################
>
> par(mfrow = c(2,1))
>
> for (mm in c("vdp", "bic")) {
+
+ # Fit nonparametric Gaussian mixture model
+ #source("~/Rpackages/netresponse/netresponse/R/vdp.mixt.R")
+ out <- mixture.model(D, mixture.method = mm, max.responses = 10, pca.basis = FALSE)
+
+ ############################################################
+
+ # Compare input data and results
+
+ ord.out <- order(out$mu[,1])
+ ord.in <- order(component.means[,1])
+
+ means.out <- out$mu[ord.out,]
+ means.in <- component.means[ord.in,]
+
+ # Cluster stds and variances
+ sds.out <- out$sd[ord.out,]
+ vars.out <- sds.out^2
+
+ sds.in <- component.sds[ord.in,]
+ vars.in <- sds.in^2
+
+ # Check correspondence between input and output
+ if (length(means.in) == length(means.out)) {
+ cm <- cor(as.vector(means.in), as.vector(means.out))
+ csd <- cor(as.vector(sds.in), as.vector(sds.out))
+ }
+
+ # Plot results (assuming 2D)
+ ran <- range(c(as.vector(means.in - 2*vars.in),
+ as.vector(means.in + 2*vars.in),
+ as.vector(means.out + 2*vars.out),
+ as.vector(means.out - 2*vars.out)))
+
+ real.modes <- sample2comp
+ obs.modes <- apply(out$qofz, 1, which.max)
+
+ # plot(D, pch = 20, main = paste(mm, "/ cor.means:", round(cm,6), "/ Cor.sds:", round(csd,6)), xlim = ran, ylim = ran)
+ plot(D, pch = real.modes, col = obs.modes, main = paste(mm, "/ cor.means:", round(cm,6), "/ Cor.sds:", round(csd,6)), xlim = ran, ylim = ran)
+ for (ci in 1:nrow(means.out)) { add.ellipse(centroid = means.out[ci,], covmat = diag(vars.out[ci,]), col = "red") }
+ for (ci in 1:nrow(means.in)) { add.ellipse(centroid = means.in[ci,], covmat = diag(vars.in[ci,]), col = "blue") }
+
+ }
>
>
> proc.time()
user system elapsed
3.34 0.32 3.65
|
netresponse.Rcheck/tests_x64/mixture.model.test.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
> # Validate mixture models
>
> # Generate random data from five Gaussians.
> # Detect modes
> # Plot data points and detected clusters
>
> library(netresponse)
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
>
> #fs <- list.files("~/Rpackages/netresponse/netresponse/R/", full.names = TRUE); for (f in fs) {source(f)}; dyn.load("/home/tuli/Rpackages/netresponse/netresponse/src/netresponse.so")
>
> ######### Generate DATA #######################
>
> res <- generate.toydata()
> D <- res$data
> component.means <- res$means
> component.sds <- res$sds
> sample2comp <- res$sample2comp
>
> ######################################################################
>
> par(mfrow = c(2,1))
>
> for (mm in c("vdp", "bic")) {
+
+ # Fit nonparametric Gaussian mixture model
+ #source("~/Rpackages/netresponse/netresponse/R/vdp.mixt.R")
+ out <- mixture.model(D, mixture.method = mm, max.responses = 10, pca.basis = FALSE)
+
+ ############################################################
+
+ # Compare input data and results
+
+ ord.out <- order(out$mu[,1])
+ ord.in <- order(component.means[,1])
+
+ means.out <- out$mu[ord.out,]
+ means.in <- component.means[ord.in,]
+
+ # Cluster stds and variances
+ sds.out <- out$sd[ord.out,]
+ vars.out <- sds.out^2
+
+ sds.in <- component.sds[ord.in,]
+ vars.in <- sds.in^2
+
+ # Check correspondence between input and output
+ if (length(means.in) == length(means.out)) {
+ cm <- cor(as.vector(means.in), as.vector(means.out))
+ csd <- cor(as.vector(sds.in), as.vector(sds.out))
+ }
+
+ # Plot results (assuming 2D)
+ ran <- range(c(as.vector(means.in - 2*vars.in),
+ as.vector(means.in + 2*vars.in),
+ as.vector(means.out + 2*vars.out),
+ as.vector(means.out - 2*vars.out)))
+
+ real.modes <- sample2comp
+ obs.modes <- apply(out$qofz, 1, which.max)
+
+ # plot(D, pch = 20, main = paste(mm, "/ cor.means:", round(cm,6), "/ Cor.sds:", round(csd,6)), xlim = ran, ylim = ran)
+ plot(D, pch = real.modes, col = obs.modes, main = paste(mm, "/ cor.means:", round(cm,6), "/ Cor.sds:", round(csd,6)), xlim = ran, ylim = ran)
+ for (ci in 1:nrow(means.out)) { add.ellipse(centroid = means.out[ci,], covmat = diag(vars.out[ci,]), col = "red") }
+ for (ci in 1:nrow(means.in)) { add.ellipse(centroid = means.in[ci,], covmat = diag(vars.in[ci,]), col = "blue") }
+
+ }
>
>
> proc.time()
user system elapsed
3.17 0.28 3.43
|
|
netresponse.Rcheck/tests_i386/mixture.model.test.multimodal.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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(netresponse)
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
>
> # Three MODES
>
> # set.seed(34884)
> set.seed(3488400)
>
> Ns <- 200
> Nd <- 2
>
> D3 <- rbind(matrix(rnorm(Ns*Nd, mean = 0), ncol = Nd),
+ matrix(rnorm(Ns*Nd, mean = 3), ncol = Nd),
+ cbind(rnorm(Ns, mean = -3), rnorm(Ns, mean = 3))
+ )
>
> #X11()
> par(mfrow = c(2,2))
> for (mm in c("vdp", "bic")) {
+ for (pp in c(FALSE, TRUE)) {
+
+ # Fit nonparametric Gaussian mixture model
+ out <- mixture.model(D3, mixture.method = mm, pca.basis = pp)
+ plot(D3, col = apply(out$qofz, 1, which.max), main = paste(mm, "/ pca:", pp))
+
+ }
+ }
>
> # VDP is less sensitive than BIC in detecting Gaussian modes (more
> # separation between the clusters needed)
>
> # pca.basis option is less important for sensitive detection but
> # it will help to avoid overfitting to unimodal features that
> # are not parallel to the axes (unimodal distribution often becomes
> # splitted in two or more clusters in these cases)
>
>
> proc.time()
user system elapsed
7.98 0.29 8.26
|
netresponse.Rcheck/tests_x64/mixture.model.test.multimodal.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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(netresponse)
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
>
> # Three MODES
>
> # set.seed(34884)
> set.seed(3488400)
>
> Ns <- 200
> Nd <- 2
>
> D3 <- rbind(matrix(rnorm(Ns*Nd, mean = 0), ncol = Nd),
+ matrix(rnorm(Ns*Nd, mean = 3), ncol = Nd),
+ cbind(rnorm(Ns, mean = -3), rnorm(Ns, mean = 3))
+ )
>
> #X11()
> par(mfrow = c(2,2))
> for (mm in c("vdp", "bic")) {
+ for (pp in c(FALSE, TRUE)) {
+
+ # Fit nonparametric Gaussian mixture model
+ out <- mixture.model(D3, mixture.method = mm, pca.basis = pp)
+ plot(D3, col = apply(out$qofz, 1, which.max), main = paste(mm, "/ pca:", pp))
+
+ }
+ }
>
> # VDP is less sensitive than BIC in detecting Gaussian modes (more
> # separation between the clusters needed)
>
> # pca.basis option is less important for sensitive detection but
> # it will help to avoid overfitting to unimodal features that
> # are not parallel to the axes (unimodal distribution often becomes
> # splitted in two or more clusters in these cases)
>
>
> proc.time()
user system elapsed
4.95 0.23 5.17
|
|
netresponse.Rcheck/tests_i386/mixture.model.test.singlemode.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
>
> skip <- FALSE
>
> if (!skip) {
+
+ library(netresponse)
+
+ # SINGLE MODE
+
+ # Produce test data that has full covariance
+ # It is expected that
+ # pca.basis = FALSE splits Gaussian with full covariance into two modes
+ # pca.basis = TRUE should detect just a single mode
+
+ Ns <- 200
+ Nd <- 2
+ k <- 1.5
+
+ D2 <- matrix(rnorm(Ns*Nd), ncol = Nd) %*% rbind(c(1,k), c(k,1))
+
+ par(mfrow = c(2,2))
+ for (mm in c("vdp", "bic")) {
+ for (pp in c(FALSE, TRUE)) {
+
+ # Fit nonparametric Gaussian mixture model
+ out <- mixture.model(D2, mixture.method = mm, pca.basis = pp)
+ plot(D2, col = apply(out$qofz, 1, which.max), main = paste("mm:" , mm, "/ pp:", pp))
+
+ }
+ }
+
+ }
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
>
> proc.time()
user system elapsed
3.50 0.25 3.73
|
netresponse.Rcheck/tests_x64/mixture.model.test.singlemode.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
>
> skip <- FALSE
>
> if (!skip) {
+
+ library(netresponse)
+
+ # SINGLE MODE
+
+ # Produce test data that has full covariance
+ # It is expected that
+ # pca.basis = FALSE splits Gaussian with full covariance into two modes
+ # pca.basis = TRUE should detect just a single mode
+
+ Ns <- 200
+ Nd <- 2
+ k <- 1.5
+
+ D2 <- matrix(rnorm(Ns*Nd), ncol = Nd) %*% rbind(c(1,k), c(k,1))
+
+ par(mfrow = c(2,2))
+ for (mm in c("vdp", "bic")) {
+ for (pp in c(FALSE, TRUE)) {
+
+ # Fit nonparametric Gaussian mixture model
+ out <- mixture.model(D2, mixture.method = mm, pca.basis = pp)
+ plot(D2, col = apply(out$qofz, 1, which.max), main = paste("mm:" , mm, "/ pp:", pp))
+
+ }
+ }
+
+ }
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
>
> proc.time()
user system elapsed
2.92 0.15 3.06
|
|
netresponse.Rcheck/tests_i386/timing.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
>
> # Play with different options and check their effect on running times for bic and vdp
>
> skip <- TRUE
>
> if (!skip) {
+
+ Ns <- 100
+ Nd <- 2
+
+ set.seed(3488400)
+
+ D <- cbind(
+
+ rbind(matrix(rnorm(Ns*Nd, mean = 0), ncol = Nd),
+ matrix(rnorm(Ns*Nd, mean = 2), ncol = Nd),
+ cbind(rnorm(Ns, mean = -1), rnorm(Ns, mean = 3))
+ ),
+
+ rbind(matrix(rnorm(Ns*Nd, mean = 0), ncol = Nd),
+ matrix(rnorm(Ns*Nd, mean = 2), ncol = Nd),
+ cbind(rnorm(Ns, mean = -1), rnorm(Ns, mean = 3))
+ )
+ )
+
+ rownames(D) <- paste("R", 1:nrow(D), sep = "-")
+ colnames(D) <- paste("C", 1:ncol(D), sep = "-")
+
+ ts <- c()
+ for (mm in c("bic", "vdp")) {
+
+
+ # NOTE: no PCA basis needed with mixture.method = "bic"
+ tt <- system.time(detect.responses(D, verbose = TRUE, max.responses = 5,
+ mixture.method = mm, information.criterion = "BIC",
+ merging.threshold = 0, bic.threshold = 0, pca.basis = TRUE))
+
+ print(paste(mm, ":", round(tt[["elapsed"]], 3)))
+ ts[[mm]] <- tt[["elapsed"]]
+ }
+
+ print(paste(names(ts)[[1]], "/", names(ts)[[2]], ": ", round(ts[[1]]/ts[[2]], 3)))
+
+ }
>
> # -> VDP is much faster when sample sizes increase
> # 1000 samples -> 25-fold speedup with VDP
>
>
>
> proc.time()
user system elapsed
0.25 0.04 0.28
|
netresponse.Rcheck/tests_x64/timing.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
>
> # Play with different options and check their effect on running times for bic and vdp
>
> skip <- TRUE
>
> if (!skip) {
+
+ Ns <- 100
+ Nd <- 2
+
+ set.seed(3488400)
+
+ D <- cbind(
+
+ rbind(matrix(rnorm(Ns*Nd, mean = 0), ncol = Nd),
+ matrix(rnorm(Ns*Nd, mean = 2), ncol = Nd),
+ cbind(rnorm(Ns, mean = -1), rnorm(Ns, mean = 3))
+ ),
+
+ rbind(matrix(rnorm(Ns*Nd, mean = 0), ncol = Nd),
+ matrix(rnorm(Ns*Nd, mean = 2), ncol = Nd),
+ cbind(rnorm(Ns, mean = -1), rnorm(Ns, mean = 3))
+ )
+ )
+
+ rownames(D) <- paste("R", 1:nrow(D), sep = "-")
+ colnames(D) <- paste("C", 1:ncol(D), sep = "-")
+
+ ts <- c()
+ for (mm in c("bic", "vdp")) {
+
+
+ # NOTE: no PCA basis needed with mixture.method = "bic"
+ tt <- system.time(detect.responses(D, verbose = TRUE, max.responses = 5,
+ mixture.method = mm, information.criterion = "BIC",
+ merging.threshold = 0, bic.threshold = 0, pca.basis = TRUE))
+
+ print(paste(mm, ":", round(tt[["elapsed"]], 3)))
+ ts[[mm]] <- tt[["elapsed"]]
+ }
+
+ print(paste(names(ts)[[1]], "/", names(ts)[[2]], ": ", round(ts[[1]]/ts[[2]], 3)))
+
+ }
>
> # -> VDP is much faster when sample sizes increase
> # 1000 samples -> 25-fold speedup with VDP
>
>
>
> proc.time()
user system elapsed
0.15 0.03 0.17
|
|
netresponse.Rcheck/tests_i386/toydata2.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
> # Generate Nc components from normal-inverseGamma prior
>
> set.seed(12346)
>
> Ns <- 300
> Nd <- 2
>
> # Isotropic cloud
> D1 <- matrix(rnorm(Ns*Nd), ncol = Nd)
>
> # Single diagonal mode
> D2 <- matrix(rnorm(Ns*Nd), ncol = Nd) %*% rbind(c(1,2), c(2,1))
>
> # Two isotropic modes
> D3 <- rbind(matrix(rnorm(Ns/2*Nd), ncol = Nd), matrix(rnorm(Ns/2*Nd, mean = 3), ncol = Nd))
> D <- cbind(D1, D2, D3)
>
> colnames(D) <- paste("Feature-", 1:ncol(D), sep = "")
> rownames(D) <- paste("Sample-", 1:nrow(D), sep = "")
>
>
> proc.time()
user system elapsed
0.23 0.07 0.28
|
netresponse.Rcheck/tests_x64/toydata2.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
> # Generate Nc components from normal-inverseGamma prior
>
> set.seed(12346)
>
> Ns <- 300
> Nd <- 2
>
> # Isotropic cloud
> D1 <- matrix(rnorm(Ns*Nd), ncol = Nd)
>
> # Single diagonal mode
> D2 <- matrix(rnorm(Ns*Nd), ncol = Nd) %*% rbind(c(1,2), c(2,1))
>
> # Two isotropic modes
> D3 <- rbind(matrix(rnorm(Ns/2*Nd), ncol = Nd), matrix(rnorm(Ns/2*Nd, mean = 3), ncol = Nd))
> D <- cbind(D1, D2, D3)
>
> colnames(D) <- paste("Feature-", 1:ncol(D), sep = "")
> rownames(D) <- paste("Sample-", 1:nrow(D), sep = "")
>
>
> proc.time()
user system elapsed
0.25 0.03 0.26
|
|
netresponse.Rcheck/tests_i386/validate.netresponse.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
>
> skip <- FALSE
>
> if (!skip) {
+
+ # 2. netresponse test
+ # test later with varying parameters
+
+ # Load the package
+ library(netresponse)
+ #load("../data/toydata.rda")
+ fs <- list.files("../R/", full.names = TRUE); for (f in fs) {source(f)};
+
+ data(toydata)
+
+ D <- toydata$emat
+ netw <- toydata$netw
+
+ # The toy data is random data with 10 features (genes).
+ # The features
+ rf <- c(4, 5, 6)
+ #form a subnetwork with coherent responses
+ # with means
+ r1 <- c(0, 3, 0)
+ r2 <- c(-5, 0, 2)
+ r3 <- c(5, -3, -3)
+ mu.real <- rbind(r1, r2, r3)
+ # real weights
+ w.real <- c(70, 70, 60)/200
+ # and unit variances
+ rv <- 1
+
+ # Fit the model
+ #res <- detect.responses(D, netw, verbose = TRUE, mc.cores = 2)
+ #res <- detect.responses(D, netw, verbose = TRUE, max.responses = 4)
+
+ res <- detect.responses(D, netw, verbose = TRUE, max.responses = 3, mixture.method = "bic", information.criterion = "BIC", merging.threshold = 1, bic.threshold = 10, pca.basis = FALSE)
+
+ print("OK")
+
+ # Subnets (each is a list of nodes)
+ subnets <- get.subnets(res)
+
+ # the correct subnet is retrieved in subnet number 2:
+ #> subnet[[2]]
+ #[1] "feat4" "feat5" "feat6"
+
+ # how about responses
+ # Retrieve model for the subnetwork with lowest cost function value
+ # means, standard devations and weights for the components
+ if (!is.null(subnets)) {
+ m <- get.model.parameters(res, subnet.id = "Subnet-2")
+
+ # order retrieved and real response means by the first feature
+ # (to ensure responses are listed in the same order)
+ # and compare deviation from correct solution
+ ord.obs <- order(m$mu[,1])
+ ord.real <- order(mu.real[,1])
+
+ print(paste("Correlation between real and observed responses:", cor(as.vector(m$mu[ord.obs,]), as.vector(mu.real[ord.real,]))))
+
+ # all real variances are 1, compare to observed ones
+ print(paste("Maximum deviation from real variances: ", max(abs(rv - range(m$sd))/rv)))
+
+ # weights deviate somewhat, this is likely due to relatively small sample size
+ #print("Maximum deviation from real weights: ")
+ #print( (w.real[ord.real] - m$w[ord.obs])/w.real[ord.real])
+
+ print("estimated and real mean matrices")
+ print(m$mu[ord.obs,])
+ print(mu.real[ord.real,])
+
+ }
+
+ }
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
convert the network into edge matrix
removing self-links
matching the features between network and datamatrix
Filter the network to only keep the edges with highest mutual information
1 / 8
2 / 8
3 / 8
4 / 8
5 / 8
6 / 8
7 / 8
8 / 8
Compute cost for each variable
Computing model for node 1 / 10
Computing model for node 2 / 10
Computing model for node 3 / 10
Computing model for node 4 / 10
Computing model for node 5 / 10
Computing model for node 6 / 10
Computing model for node 7 / 10
Computing model for node 8 / 10
Computing model for node 9 / 10
Computing model for node 10 / 10
independent models done
Computing delta values for edge 1 / 29
Computing delta values for edge 2 / 29
Computing delta values for edge 3 / 29
Computing delta values for edge 4 / 29
Computing delta values for edge 5 / 29
Computing delta values for edge 6 / 29
Computing delta values for edge 7 / 29
Computing delta values for edge 8 / 29
Computing delta values for edge 9 / 29
Computing delta values for edge 10 / 29
Computing delta values for edge 11 / 29
Computing delta values for edge 12 / 29
Computing delta values for edge 13 / 29
Computing delta values for edge 14 / 29
Computing delta values for edge 15 / 29
Computing delta values for edge 16 / 29
Computing delta values for edge 17 / 29
Computing delta values for edge 18 / 29
Computing delta values for edge 19 / 29
Computing delta values for edge 20 / 29
Computing delta values for edge 21 / 29
Computing delta values for edge 22 / 29
Computing delta values for edge 23 / 29
Computing delta values for edge 24 / 29
Computing delta values for edge 25 / 29
Computing delta values for edge 26 / 29
Computing delta values for edge 27 / 29
Computing delta values for edge 28 / 29
Computing delta values for edge 29 / 29
Combining groups, 10 group(s) left...
Combining groups, 9 group(s) left...
Combining groups, 8 group(s) left...
Combining groups, 7 group(s) left...
Combining groups, 6 group(s) left...
Combining groups, 5 group(s) left...
Combining groups, 4 group(s) left...
[1] "OK"
[1] "Correlation between real and observed responses: 0.999117848017521"
[1] "Maximum deviation from real variances: 0.0391530538149302"
[1] "estimated and real mean matrices"
[,1] [,2] [,3]
[1,] -4.9334982 -0.1575946 2.1613225
[2,] -0.1299285 3.0047767 -0.1841669
[3,] 5.0738471 -2.9334877 -3.2217492
[,1] [,2] [,3]
r2 -5 0 2
r1 0 3 0
r3 5 -3 -3
>
> proc.time()
user system elapsed
52.06 0.34 52.43
|
netresponse.Rcheck/tests_x64/validate.netresponse.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
>
> skip <- FALSE
>
> if (!skip) {
+
+ # 2. netresponse test
+ # test later with varying parameters
+
+ # Load the package
+ library(netresponse)
+ #load("../data/toydata.rda")
+ fs <- list.files("../R/", full.names = TRUE); for (f in fs) {source(f)};
+
+ data(toydata)
+
+ D <- toydata$emat
+ netw <- toydata$netw
+
+ # The toy data is random data with 10 features (genes).
+ # The features
+ rf <- c(4, 5, 6)
+ #form a subnetwork with coherent responses
+ # with means
+ r1 <- c(0, 3, 0)
+ r2 <- c(-5, 0, 2)
+ r3 <- c(5, -3, -3)
+ mu.real <- rbind(r1, r2, r3)
+ # real weights
+ w.real <- c(70, 70, 60)/200
+ # and unit variances
+ rv <- 1
+
+ # Fit the model
+ #res <- detect.responses(D, netw, verbose = TRUE, mc.cores = 2)
+ #res <- detect.responses(D, netw, verbose = TRUE, max.responses = 4)
+
+ res <- detect.responses(D, netw, verbose = TRUE, max.responses = 3, mixture.method = "bic", information.criterion = "BIC", merging.threshold = 1, bic.threshold = 10, pca.basis = FALSE)
+
+ print("OK")
+
+ # Subnets (each is a list of nodes)
+ subnets <- get.subnets(res)
+
+ # the correct subnet is retrieved in subnet number 2:
+ #> subnet[[2]]
+ #[1] "feat4" "feat5" "feat6"
+
+ # how about responses
+ # Retrieve model for the subnetwork with lowest cost function value
+ # means, standard devations and weights for the components
+ if (!is.null(subnets)) {
+ m <- get.model.parameters(res, subnet.id = "Subnet-2")
+
+ # order retrieved and real response means by the first feature
+ # (to ensure responses are listed in the same order)
+ # and compare deviation from correct solution
+ ord.obs <- order(m$mu[,1])
+ ord.real <- order(mu.real[,1])
+
+ print(paste("Correlation between real and observed responses:", cor(as.vector(m$mu[ord.obs,]), as.vector(mu.real[ord.real,]))))
+
+ # all real variances are 1, compare to observed ones
+ print(paste("Maximum deviation from real variances: ", max(abs(rv - range(m$sd))/rv)))
+
+ # weights deviate somewhat, this is likely due to relatively small sample size
+ #print("Maximum deviation from real weights: ")
+ #print( (w.real[ord.real] - m$w[ord.obs])/w.real[ord.real])
+
+ print("estimated and real mean matrices")
+ print(m$mu[ord.obs,])
+ print(mu.real[ord.real,])
+
+ }
+
+ }
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
convert the network into edge matrix
removing self-links
matching the features between network and datamatrix
Filter the network to only keep the edges with highest mutual information
1 / 8
2 / 8
3 / 8
4 / 8
5 / 8
6 / 8
7 / 8
8 / 8
Compute cost for each variable
Computing model for node 1 / 10
Computing model for node 2 / 10
Computing model for node 3 / 10
Computing model for node 4 / 10
Computing model for node 5 / 10
Computing model for node 6 / 10
Computing model for node 7 / 10
Computing model for node 8 / 10
Computing model for node 9 / 10
Computing model for node 10 / 10
independent models done
Computing delta values for edge 1 / 29
Computing delta values for edge 2 / 29
Computing delta values for edge 3 / 29
Computing delta values for edge 4 / 29
Computing delta values for edge 5 / 29
Computing delta values for edge 6 / 29
Computing delta values for edge 7 / 29
Computing delta values for edge 8 / 29
Computing delta values for edge 9 / 29
Computing delta values for edge 10 / 29
Computing delta values for edge 11 / 29
Computing delta values for edge 12 / 29
Computing delta values for edge 13 / 29
Computing delta values for edge 14 / 29
Computing delta values for edge 15 / 29
Computing delta values for edge 16 / 29
Computing delta values for edge 17 / 29
Computing delta values for edge 18 / 29
Computing delta values for edge 19 / 29
Computing delta values for edge 20 / 29
Computing delta values for edge 21 / 29
Computing delta values for edge 22 / 29
Computing delta values for edge 23 / 29
Computing delta values for edge 24 / 29
Computing delta values for edge 25 / 29
Computing delta values for edge 26 / 29
Computing delta values for edge 27 / 29
Computing delta values for edge 28 / 29
Computing delta values for edge 29 / 29
Combining groups, 10 group(s) left...
Combining groups, 9 group(s) left...
Combining groups, 8 group(s) left...
Combining groups, 7 group(s) left...
Combining groups, 6 group(s) left...
Combining groups, 5 group(s) left...
Combining groups, 4 group(s) left...
[1] "OK"
[1] "Correlation between real and observed responses: 0.999117848017521"
[1] "Maximum deviation from real variances: 0.0391530538149302"
[1] "estimated and real mean matrices"
[,1] [,2] [,3]
[1,] -4.9334982 -0.1575946 2.1613225
[2,] -0.1299285 3.0047767 -0.1841669
[3,] 5.0738471 -2.9334877 -3.2217492
[,1] [,2] [,3]
r2 -5 0 2
r1 0 3 0
r3 5 -3 -3
>
> proc.time()
user system elapsed
41.85 0.31 42.25
|
|
netresponse.Rcheck/tests_i386/validate.pca.basis.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
>
> skip <- FALSE
>
> if (!skip) {
+ # Visualization
+
+ library(netresponse)
+
+ #fs <- list.files("~/Rpackages/netresponse/netresponse/R/", full.names = T); for (f in fs) {source(f)}
+
+ source("toydata2.R")
+
+ # --------------------------------------------------------------------
+
+ set.seed(4243)
+ mixture.method <- "bic"
+
+ # --------------------------------------------------------------------
+
+ res <- detect.responses(D, verbose = TRUE, max.responses = 10,
+ mixture.method = mixture.method, information.criterion = "BIC",
+ merging.threshold = 1, bic.threshold = 10, pca.basis = FALSE)
+
+ res.pca <- detect.responses(D, verbose = TRUE, max.responses = 10, mixture.method = mixture.method, information.criterion = "BIC", merging.threshold = 1, bic.threshold = 10, pca.basis = TRUE)
+
+ # --------------------------------------------------------------------
+
+ k <- 1
+
+ # Incorrect VDP: two modes detected
+ # Correct BIC: single mode detected
+ subnet.id <- names(get.subnets(res))[[k]]
+
+ # Correct: single mode detected (VDP & BIC)
+ subnet.id.pca <- names(get.subnets(res.pca))[[k]]
+
+ # --------------------------------------------------------------------------------------------------
+
+ vis1 <- plot_responses(res, subnet.id, plot_mode = "pca", main = paste("NoPCA; NoDM"))
+ vis2 <- plot_responses(res, subnet.id, plot_mode = "pca", datamatrix = D, main = "NoPCA, DM")
+ vis3 <- plot_responses(res.pca, subnet.id.pca, plot_mode = "pca", main = "PCA, NoDM")
+ vis4 <- plot_responses(res.pca, subnet.id.pca, plot_mode = "pca", datamatrix = D, main = "PCA, DM")
+
+ # With original data: VDP overlearns; BIC works; with full covariance data
+ # With PCA basis: modes detected ok with both VDP and BIC.
+
+ # ------------------------------------------------------------------------
+
+ # TODO
+ # pca.plot(res, subnet.id)
+ # plot_subnet(res, subnet.id)
+ }
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
convert the network into edge matrix
removing self-links
matching the features between network and datamatrix
Filter the network to only keep the edges with highest mutual information
1 / 5
2 / 5
3 / 5
4 / 5
5 / 5
Compute cost for each variable
Computing model for node 1 / 6
Computing model for node 2 / 6
Computing model for node 3 / 6
Computing model for node 4 / 6
Computing model for node 5 / 6
Computing model for node 6 / 6
independent models done
Computing delta values for edge 1 / 15
Computing delta values for edge 2 / 15
Computing delta values for edge 3 / 15
Computing delta values for edge 4 / 15
Computing delta values for edge 5 / 15
Computing delta values for edge 6 / 15
Computing delta values for edge 7 / 15
Computing delta values for edge 8 / 15
Computing delta values for edge 9 / 15
Computing delta values for edge 10 / 15
Computing delta values for edge 11 / 15
Computing delta values for edge 12 / 15
Computing delta values for edge 13 / 15
Computing delta values for edge 14 / 15
Computing delta values for edge 15 / 15
Combining groups, 6 group(s) left...
Combining groups, 5 group(s) left...
Combining groups, 4 group(s) left...
Combining groups, 3 group(s) left...
convert the network into edge matrix
removing self-links
matching the features between network and datamatrix
Filter the network to only keep the edges with highest mutual information
1 / 5
2 / 5
3 / 5
4 / 5
5 / 5
Compute cost for each variable
Computing model for node 1 / 6
Computing model for node 2 / 6
Computing model for node 3 / 6
Computing model for node 4 / 6
Computing model for node 5 / 6
Computing model for node 6 / 6
independent models done
Computing delta values for edge 1 / 15
Computing delta values for edge 2 / 15
Computing delta values for edge 3 / 15
Computing delta values for edge 4 / 15
Computing delta values for edge 5 / 15
Computing delta values for edge 6 / 15
Computing delta values for edge 7 / 15
Computing delta values for edge 8 / 15
Computing delta values for edge 9 / 15
Computing delta values for edge 10 / 15
Computing delta values for edge 11 / 15
Computing delta values for edge 12 / 15
Computing delta values for edge 13 / 15
Computing delta values for edge 14 / 15
Computing delta values for edge 15 / 15
Combining groups, 6 group(s) left...
Combining groups, 5 group(s) left...
Combining groups, 4 group(s) left...
Combining groups, 3 group(s) left...
Warning messages:
1: In check.network(network, datamatrix, verbose = verbose) :
No network provided in function call: assuming fully connected nodes.
2: In check.network(network, datamatrix, verbose = verbose) :
No network provided in function call: assuming fully connected nodes.
>
> proc.time()
user system elapsed
29.75 0.42 30.15
|
netresponse.Rcheck/tests_x64/validate.pca.basis.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
>
> skip <- FALSE
>
> if (!skip) {
+ # Visualization
+
+ library(netresponse)
+
+ #fs <- list.files("~/Rpackages/netresponse/netresponse/R/", full.names = T); for (f in fs) {source(f)}
+
+ source("toydata2.R")
+
+ # --------------------------------------------------------------------
+
+ set.seed(4243)
+ mixture.method <- "bic"
+
+ # --------------------------------------------------------------------
+
+ res <- detect.responses(D, verbose = TRUE, max.responses = 10,
+ mixture.method = mixture.method, information.criterion = "BIC",
+ merging.threshold = 1, bic.threshold = 10, pca.basis = FALSE)
+
+ res.pca <- detect.responses(D, verbose = TRUE, max.responses = 10, mixture.method = mixture.method, information.criterion = "BIC", merging.threshold = 1, bic.threshold = 10, pca.basis = TRUE)
+
+ # --------------------------------------------------------------------
+
+ k <- 1
+
+ # Incorrect VDP: two modes detected
+ # Correct BIC: single mode detected
+ subnet.id <- names(get.subnets(res))[[k]]
+
+ # Correct: single mode detected (VDP & BIC)
+ subnet.id.pca <- names(get.subnets(res.pca))[[k]]
+
+ # --------------------------------------------------------------------------------------------------
+
+ vis1 <- plot_responses(res, subnet.id, plot_mode = "pca", main = paste("NoPCA; NoDM"))
+ vis2 <- plot_responses(res, subnet.id, plot_mode = "pca", datamatrix = D, main = "NoPCA, DM")
+ vis3 <- plot_responses(res.pca, subnet.id.pca, plot_mode = "pca", main = "PCA, NoDM")
+ vis4 <- plot_responses(res.pca, subnet.id.pca, plot_mode = "pca", datamatrix = D, main = "PCA, DM")
+
+ # With original data: VDP overlearns; BIC works; with full covariance data
+ # With PCA basis: modes detected ok with both VDP and BIC.
+
+ # ------------------------------------------------------------------------
+
+ # TODO
+ # pca.plot(res, subnet.id)
+ # plot_subnet(res, subnet.id)
+ }
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
convert the network into edge matrix
removing self-links
matching the features between network and datamatrix
Filter the network to only keep the edges with highest mutual information
1 / 5
2 / 5
3 / 5
4 / 5
5 / 5
Compute cost for each variable
Computing model for node 1 / 6
Computing model for node 2 / 6
Computing model for node 3 / 6
Computing model for node 4 / 6
Computing model for node 5 / 6
Computing model for node 6 / 6
independent models done
Computing delta values for edge 1 / 15
Computing delta values for edge 2 / 15
Computing delta values for edge 3 / 15
Computing delta values for edge 4 / 15
Computing delta values for edge 5 / 15
Computing delta values for edge 6 / 15
Computing delta values for edge 7 / 15
Computing delta values for edge 8 / 15
Computing delta values for edge 9 / 15
Computing delta values for edge 10 / 15
Computing delta values for edge 11 / 15
Computing delta values for edge 12 / 15
Computing delta values for edge 13 / 15
Computing delta values for edge 14 / 15
Computing delta values for edge 15 / 15
Combining groups, 6 group(s) left...
Combining groups, 5 group(s) left...
Combining groups, 4 group(s) left...
Combining groups, 3 group(s) left...
convert the network into edge matrix
removing self-links
matching the features between network and datamatrix
Filter the network to only keep the edges with highest mutual information
1 / 5
2 / 5
3 / 5
4 / 5
5 / 5
Compute cost for each variable
Computing model for node 1 / 6
Computing model for node 2 / 6
Computing model for node 3 / 6
Computing model for node 4 / 6
Computing model for node 5 / 6
Computing model for node 6 / 6
independent models done
Computing delta values for edge 1 / 15
Computing delta values for edge 2 / 15
Computing delta values for edge 3 / 15
Computing delta values for edge 4 / 15
Computing delta values for edge 5 / 15
Computing delta values for edge 6 / 15
Computing delta values for edge 7 / 15
Computing delta values for edge 8 / 15
Computing delta values for edge 9 / 15
Computing delta values for edge 10 / 15
Computing delta values for edge 11 / 15
Computing delta values for edge 12 / 15
Computing delta values for edge 13 / 15
Computing delta values for edge 14 / 15
Computing delta values for edge 15 / 15
Combining groups, 6 group(s) left...
Combining groups, 5 group(s) left...
Combining groups, 4 group(s) left...
Combining groups, 3 group(s) left...
Warning messages:
1: In check.network(network, datamatrix, verbose = verbose) :
No network provided in function call: assuming fully connected nodes.
2: In check.network(network, datamatrix, verbose = verbose) :
No network provided in function call: assuming fully connected nodes.
>
> proc.time()
user system elapsed
31.42 0.20 31.62
|
|
netresponse.Rcheck/tests_i386/vdpmixture.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
>
> # 1. vdp.mixt: moodien loytyminen eri dimensiolla, naytemaarilla ja komponenteilla
> # -> ainakin nopea check
>
> #######################################################################
>
> # Generate random data from five Gaussians.
> # Detect modes with vdp-gm.
> # Plot data points and detected clusters with variance ellipses
>
> #######################################################################
>
> library(netresponse)
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
> #source("~/Rpackages/netresponse/netresponse/R/detect.responses.R")
> #source("~/Rpackages/netresponse/netresponse/R/internals.R")
> #source("~/Rpackages/netresponse/netresponse/R/vdp.mixt.R")
> #dyn.load("/home/tuli/Rpackages/netresponse/netresponse/src/netresponse.so")
>
>
> ######### Generate DATA #############################################
>
> res <- generate.toydata()
> D <- res$data
> component.means <- res$means
> component.sds <- res$sds
> sample2comp <- res$sample2comp
>
> ######################################################################
>
> # Fit nonparametric Gaussian mixture model
> out <- vdp.mixt(D)
> # out <- vdp.mixt(D, c.max = 3) # try with limited number of components -> OK
>
> ############################################################
>
> # Compare input data and results
>
> ord.out <- order(out$posterior$centroids[,1])
> ord.in <- order(component.means[,1])
>
> means.out <- out$posterior$centroids[ord.out,]
> means.in <- component.means[ord.in,]
>
> # Cluster stds and variances
> sds.out <- out$posterior$sds[ord.out,]
> sds.in <- component.sds[ord.in,]
> vars.out <- sds.out^2
> vars.in <- sds.in^2
>
> # Check correspondence between input and output
> if (length(means.in) == length(means.out)) {
+ cm <- cor(as.vector(means.in), as.vector(means.out))
+ csd <- cor(as.vector(sds.in), as.vector(sds.out))
+ }
>
> # Plot results (assuming 2D)
>
> ran <- range(c(as.vector(means.in - 2*vars.in),
+ as.vector(means.in + 2*vars.in),
+ as.vector(means.out + 2*vars.out),
+ as.vector(means.out - 2*vars.out)))
>
> plot(D, pch = 20, main = paste("Cor.means:", round(cm,3), "/ Cor.sds:", round(csd,3)), xlim = ran, ylim = ran)
> for (ci in 1:nrow(means.out)) { add.ellipse(centroid = means.out[ci,], covmat = diag(vars.out[ci,]), col = "red") }
> for (ci in 1:nrow(means.in)) { add.ellipse(centroid = means.in[ci,], covmat = diag(vars.in[ci,]), col = "blue") }
>
>
>
> proc.time()
user system elapsed
3.29 0.17 3.45
|
netresponse.Rcheck/tests_x64/vdpmixture.Rout
R version 3.6.1 (2019-07-05) -- "Action of the Toes"
Copyright (C) 2019 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.
>
> # 1. vdp.mixt: moodien loytyminen eri dimensiolla, naytemaarilla ja komponenteilla
> # -> ainakin nopea check
>
> #######################################################################
>
> # Generate random data from five Gaussians.
> # Detect modes with vdp-gm.
> # Plot data points and detected clusters with variance ellipses
>
> #######################################################################
>
> library(netresponse)
Loading required package: Rgraphviz
Loading required package: graph
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which, which.max, which.min
Loading required package: grid
Loading required package: minet
Loading required package: mclust
Package 'mclust' version 5.4.5
Type 'citation("mclust")' for citing this R package in publications.
Loading required package: reshape2
netresponse (C) 2008-2016 Leo Lahti et al.
https://github.com/antagomir/netresponse
> #source("~/Rpackages/netresponse/netresponse/R/detect.responses.R")
> #source("~/Rpackages/netresponse/netresponse/R/internals.R")
> #source("~/Rpackages/netresponse/netresponse/R/vdp.mixt.R")
> #dyn.load("/home/tuli/Rpackages/netresponse/netresponse/src/netresponse.so")
>
>
> ######### Generate DATA #############################################
>
> res <- generate.toydata()
> D <- res$data
> component.means <- res$means
> component.sds <- res$sds
> sample2comp <- res$sample2comp
>
> ######################################################################
>
> # Fit nonparametric Gaussian mixture model
> out <- vdp.mixt(D)
> # out <- vdp.mixt(D, c.max = 3) # try with limited number of components -> OK
>
> ############################################################
>
> # Compare input data and results
>
> ord.out <- order(out$posterior$centroids[,1])
> ord.in <- order(component.means[,1])
>
> means.out <- out$posterior$centroids[ord.out,]
> means.in <- component.means[ord.in,]
>
> # Cluster stds and variances
> sds.out <- out$posterior$sds[ord.out,]
> sds.in <- component.sds[ord.in,]
> vars.out <- sds.out^2
> vars.in <- sds.in^2
>
> # Check correspondence between input and output
> if (length(means.in) == length(means.out)) {
+ cm <- cor(as.vector(means.in), as.vector(means.out))
+ csd <- cor(as.vector(sds.in), as.vector(sds.out))
+ }
>
> # Plot results (assuming 2D)
>
> ran <- range(c(as.vector(means.in - 2*vars.in),
+ as.vector(means.in + 2*vars.in),
+ as.vector(means.out + 2*vars.out),
+ as.vector(means.out - 2*vars.out)))
>
> plot(D, pch = 20, main = paste("Cor.means:", round(cm,3), "/ Cor.sds:", round(csd,3)), xlim = ran, ylim = ran)
> for (ci in 1:nrow(means.out)) { add.ellipse(centroid = means.out[ci,], covmat = diag(vars.out[ci,]), col = "red") }
> for (ci in 1:nrow(means.in)) { add.ellipse(centroid = means.in[ci,], covmat = diag(vars.in[ci,]), col = "blue") }
>
>
>
> proc.time()
user system elapsed
3.06 0.25 3.29
|
|
netresponse.Rcheck/examples_i386/netresponse-Ex.timings
|
netresponse.Rcheck/examples_x64/netresponse-Ex.timings
|