Get Canonical Weight SmCCA Algorithm (No Subsampling)
Source:R/MultiOmicsSmCCA.R
getCanWeightsMulti.Rd
Run Sparse multiple Canonical Correlation Analysis (SmCCA) and return canonical weight vectors.
Usage
getCanWeightsMulti(
X,
Trait = NULL,
Lambda,
CCcoef = NULL,
NoTrait = TRUE,
trace = FALSE,
TraitWeight = FALSE
)
Arguments
- X
A list of omics data each with n subjects.
- Trait
An \(n\) by 1 trait (phenotype) data for the same samples.
- Lambda
Lasso penalty vector with length equals to the number of omics data (\(X\)).
Lambda
needs to be between 0 and 1.- CCcoef
Optional scaling factors for the SmCCA pairwise canonical correlations. If
CCcoef = NULL
(default), then the objective function is the total sum of all pairwise canonical correlations. It follows the column order ofcombn(T+1, 2)
, whereT
is the total number of omics data.- NoTrait
Whether or not trait (phenotype) information is provided, default is set to
TRUE
.- trace
Whether to display CCA algorithm trace, default is set to
FALSE
.- TraitWeight
Whether to return canonical weight for trait (phenotype), default is set to
FALSE
.
Examples
# This function is typically used as an internal function.
# It is also used when performing cross-validation,
# refer to multi-omics vignette for more detail.
# X <- list(X1,X2)
# result <- getCanWeightsMulti(X, Trait = as.matrix(Y), Lambda = c(0.5,0.5), NoTrait = FALSE)
# result <- getCanWeightsMulti(X, Trait = NULL, Lambda = c(0.5,0.5), NoTrait = TRUE)
# cccoef <- c(1,10,10)
# result <- getCanWeightsMulti(X, Trait = as.matrix(Y), CCcoef = cccoef,
# Lambda = c(0.5,0.5), NoTrait = FALSE)