The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
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[@]metanet.ch.

multiCCA

multiCCA implements multiple canonical correlation analysis (MCCA) for multi-block data. The package provides tools for

The implementation is designed for multi-view data integration, where multiple sets of features are observed for the same objects.

Installation

You can install the development version from GitHub:

# install.packages("pak")
pak::pak("Halmaris/multiCCA")

Example

Generate a simple multi-block dataset:

library(multiCCA)

set.seed(1)

n <- 20
T_len <- 10

X <- list(
  lapply(seq_len(n), function(i) matrix(rnorm(T_len * 3), T_len, 3)),
  lapply(seq_len(n), function(i) matrix(rnorm(T_len * 2), T_len, 2))
)

Fit kernel MCCA:

fit <- mcca_fit(
  method = "kernel",
  X = X,
  ncomp = 2
)

fit

Predict canonical component scores:

scores <- predict(fit, X)
head(scores[[1]])

Visualization

Plot canonical components for one block:

plot_mcca_scatter(fit)

Compare canonical components between blocks:

plot_mcca_pair(fit)

Model diagnostics

Evaluate clusterability of canonical representations using the Hopkins statistic:

H <- hopkins_vs_components(fit, max_comp = 2)

plot_hopkins_curve(H)

Author

Tomasz Górecki
Adam Mickiewicz University, Poznań

These 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.