The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Version 3.2 adds NMF and sparse NMF (sNMF) as super-level
decomposition methods. They support clustering-oriented analyses of
multiblock data while the default sprmethod = "PCA"
preserves the version 3.1 computational path.
The principal options are:
sprmethod = "PCA": conventional super-level PCA;sprmethod = "NMF": non-negative matrix
factorization;sprmethod = "sNMF": sparse non-negative matrix
factorization.NMF requires non-negative input. The nneg argument
controls transformation of the block scores:
"posneg": separates positive and negative parts;"absolute": uses absolute values;"min": shifts values to a non-negative range.For a score vector \(s\), positive-negative decomposition is
\[ s^+ = \max(s,0), \qquad s^- = \max(-s,0), \qquad s=s^+-s^-. \]
A simple cluster assignment is obtained from the largest super-score value for each observation. Each root component supplies one clustering solution.
cluster_matrix <- vapply(
fit_snmf$ssX,
function(score) max.col(score, ties.method = "first"),
integer(nrow(fit_snmf$ssX[[1]]))
)
colnames(cluster_matrix) <- names(fit_snmf$ssX)
head(cluster_matrix)
#> comp1 comp2
#> [1,] 2 2
#> [2,] 2 2
#> [3,] 1 1
#> [4,] 1 2
#> [5,] 1 1
#> [6,] 1 2
apply(cluster_matrix, 2, table)
#> comp1 comp2
#> 1 28 23
#> 2 17 22The resulting matrix may be supplied to a separate consensus or
ensemble clustering procedure. The consensus step is not performed
automatically by msma().
Z may be a numeric matrix. con4spv
specifies weights used to combine its columns. This is a
composite-supervision model rather than a multi-task model with a
separate loading for every outcome.
set.seed(3)
z1 <- rnorm(nrow(X[[1]]))
z2 <- 0.5 * z1 + rnorm(nrow(X[[1]]), sd = 0.5)
Z <- cbind(clinical = z1, biomarker = z2)
fit_multi_z <- msma(
X = X, Z = Z,
con4spv = c(0.7, 0.3),
comp = 2,
muX = 0.20,
intseed = 1
)
fit_multi_z$predictiv
#> [[1]]
#> clinical biomarker
#> [1,] 0.004986875 0.004354675
#>
#> [[2]]
#> clinical biomarker
#> [1,] 0.036251 0.04306789Conceptually, the combined supervision score is
\[ z_c = Zc, \]
where the supplied weights are normalized internally as required by the implementation.
A vector and a one-column matrix produce the same result.
intseed for reproducible NMF and sNMF results.ssX and wsX when interpreting
clusters.lambdaXsup for sNMF.sessionInfo()
#> R Under development (unstable) (2026-08-25 r90447 ucrt)
#> Platform: x86_64-w64-mingw32/x64
#> Running under: Windows 11 x64 (build 26200)
#>
#> Matrix products: default
#> LAPACK version 3.12.1
#>
#> locale:
#> [1] LC_COLLATE=C LC_CTYPE=Japanese_Japan.utf8
#> [3] LC_MONETARY=Japanese_Japan.utf8 LC_NUMERIC=C
#> [5] LC_TIME=Japanese_Japan.utf8
#>
#> time zone: Asia/Tokyo
#> tzcode source: internal
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] msma_3.2
#>
#> loaded via a namespace (and not attached):
#> [1] digest_0.6.39 R6_2.6.1 fastmap_1.2.0 xfun_0.60
#> [5] cachem_1.1.0 knitr_1.51 htmltools_0.5.9 rmarkdown_2.31
#> [9] lifecycle_1.0.5 cli_3.6.6 sass_0.4.10 jquerylib_0.1.4
#> [13] compiler_4.7.0 tools_4.7.0 evaluate_1.0.5 bslib_0.12.0
#> [17] yaml_2.3.12 otel_0.2.0 rlang_1.3.0 jsonlite_2.0.0These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.