Skip to contents

Print the detected clusters among the populations under study. This method also prints the number of clusters, the p-values of statistical tests performed when building the clusters, the estimated weights of the unknown component distributions inside each cluster, and the discrepancy matrix. The latter represents some kind of distance between the populations.

Usage

# S3 method for admix_cluster
print(x, ...)

Arguments

x

An object of class 'admix_cluster' (see ?admix_clustering).

...

further arguments passed to or from other methods.

Author

Xavier Milhaud xavier.milhaud.research@gmail.com

Examples

# \donttest{
## Simulate data (chosen parameters indicate 2 clusters (populations (1,3), (2,4))!):
list.comp <- list(f1 = "gamma", g1 = "exp",
                  f2 = "gamma", g2 = "exp",
                  f3 = "gamma", g3 = "gamma",
                  f4 = "gamma", g4 = "exp")
list.param <- list(f1 = list(shape = 16, rate = 4), g1 = list(rate = 1/3.5),
                   f2 = list(shape = 14, rate = 2), g2 = list(rate = 1/5),
                   f3 = list(shape = 16, rate = 4), g3 = list(shape = 12, rate = 2),
                   f4 = list(shape = 14, rate = 2), g4 = list(rate = 1/7))
A.sim <- rsimmix(n=2600, unknownComp_weight=0.8, comp.dist = list(list.comp$f1,list.comp$g1),
                 comp.param = list(list.param$f1, list.param$g1))$mixt.data
B.sim <- rsimmix(n=3000, unknownComp_weight=0.7, comp.dist = list(list.comp$f2,list.comp$g2),
                 comp.param = list(list.param$f2, list.param$g2))$mixt.data
C.sim <- rsimmix(n=3500, unknownComp_weight=0.6, comp.dist = list(list.comp$f3,list.comp$g3),
                 comp.param = list(list.param$f3, list.param$g3))$mixt.data
D.sim <- rsimmix(n=4800, unknownComp_weight=0.5, comp.dist = list(list.comp$f4,list.comp$g4),
                 comp.param = list(list.param$f4, list.param$g4))$mixt.data
## Look for the clusters:
list.comp <- list(f1 = NULL, g1 = "exp",
                  f2 = NULL, g2 = "exp",
                  f3 = NULL, g3 = "gamma",
                  f4 = NULL, g4 = "exp")
list.param <- list(f1 = NULL, g1 = list(rate = 1/3.5),
                   f2 = NULL, g2 = list(rate = 1/5),
                   f3 = NULL, g3 = list(shape = 12, rate = 2),
                   f4 = NULL, g4 = list(rate = 1/7))
clusters <- admix_clustering(samples = list(A.sim,B.sim,C.sim,D.sim), n_sim_tab = 8,
                             comp.dist=list.comp, comp.param=list.param, conf.level = 0.95,
                             parallel=FALSE, n_cpu=2)
#> Warning: In 'IBM_estimProp': optimization algorithm was changed (in 'optim') from 'Nelder-Mead' to 'BFGS' to avoid the solution to explose.
#> Warning: In 'IBM_estimProp': optimization algorithm was changed (in 'optim') from 'Nelder-Mead' to 'BFGS' to avoid the solution to explose.
#> Warning: In 'IBM_estimProp': optimization algorithm was changed (in 'optim') from 'Nelder-Mead' to 'BFGS' to avoid the solution to explose.
#> Warning: In 'IBM_estimProp': optimization algorithm was changed (in 'optim') from 'Nelder-Mead' to 'BFGS' to avoid the solution to explose.
#> 
  |                                                        
  |                                                  |   0%
  |                                                        
  |======                                            |  12%
  |                                                        
  |======================================            |  75%
  |                                                        
  |==================================================| 100%
print(clusters)
#> Call:
#> admix_clustering(samples = list(A.sim, B.sim, C.sim, D.sim), 
#>     n_sim_tab = 8, comp.dist = list.comp, comp.param = list.param, 
#>     conf.level = 0.95, parallel = FALSE, n_cpu = 2)
#> 
#> The number of populations/samples under study is 4.
#> The level of the underlying k-sample testing procedure is set to 5%.
#> 
#> The number of detected clusters in these populations equals 2.
#> The p-values of the k-sample tests (showing when to close the clusters (i.e. p-value < 0.05) equal: 0.333, 0, 0.6.
#> 
#> The list of clusters with populations belonging to them (in numeric format, i.e. inside c()) :
#>    - Cluster #1: vector of populations c(1, 3)
#>   - Cluster #2: vector of populations c(2, 4)
#> 
#> The list of estimated weights for the unknown component distributions in each detected cluster
#>       (in the same format and order as listed populations for clusters just above) :
#>    - estimated weights of the unknown component distributions for cluster  1 :  c(0.804502504934717, 0.595496892466721)
#>   - estimated weights of the unknown component distributions for cluster  2 :  c(0.705672042794411, 0.492856437614984)
#> 
#> The matrix giving the distances between populations, used in the clustering procedure through the k-sample tests:
#>            [,1]        [,2]       [,3]        [,4]
#> [1,]  0.0000000 16.36458645  0.0392873 24.62060346
#> [2,] 16.3645865  0.00000000 10.1748722  0.04736026
#> [3,]  0.0392873 10.17487216  0.0000000  7.66436570
#> [4,] 24.6206035  0.04736026  7.6643657  0.00000000
# }