Learn R Programming

mixOmics (version 6.3.0)

tune.splslevel: Tuning functions for multilevel sPLS method

Description

For a multilevel spls analysis, the tuning criterion is based on the maximisation of the correlation between the components from both data sets

Usage

tune.splslevel(X, Y, multilevel, ncomp = NULL,
mode = "regression",
test.keepX = rep(ncol(X), ncomp),
test.keepY = rep(ncol(Y), ncomp),
already.tested.X = NULL,
already.tested.Y = NULL)

Arguments

X

numeric matrix of predictors. NAs are allowed.

Y

if(method = 'spls') numeric vector or matrix of continuous responses (for multi-response models) NAs are allowed.

multilevel

Design matrix for multilevel analysis (for repeated measurements) that indicates the repeated measures on each individual, i.e. the individuals ID. See Details.

ncomp

the number of components to include in the model.

mode

character string. What type of algorithm to use, (partially) matching one of "regression", "canonical", "invariant" or "classic".

test.keepX

numeric vector for the different number of variables to test from the \(X\) data set

test.keepY

numeric vector for the different number of variables to test from the \(Y\) data set

already.tested.X

Optional, if ncomp > 1 A numeric vector indicating the number of variables to select from the \(X\) data set on the firsts components.

already.tested.Y

Optional, if ncomp > 1 A numeric vector indicating the number of variables to select from the \(Y\) data set on the firsts components.

Value

cor.value

correlation between latent variables

Details

For a multilevel spls analysis, the tuning criterion is based on the maximisation of the correlation between the components from both data sets

References

mixOmics manuscript:

Rohart F, Gautier B, Singh A, Le Cao K-A. mixOmics: an R package for 'omics feature selection and multiple data integration.

See Also

splsda, predict.splsda and http://www.mixOmics.org for more details.

Examples

Run this code
# NOT RUN {
data(liver.toxicity)
# note: we made up those data, pretending they are repeated measurements
repeat.indiv <- c(1, 2, 1, 2, 1, 2, 1, 2, 3, 3, 4, 3, 4, 3, 4, 4, 5, 6, 5, 5,
6, 5, 6, 7, 7, 8, 6, 7, 8, 7, 8, 8, 9, 10, 9, 10, 11, 9, 9,
10, 11, 12, 12, 10, 11, 12, 11, 12, 13, 14, 13, 14, 13, 14,
13, 14, 15, 16, 15, 16, 15, 16, 15, 16)
summary(as.factor(repeat.indiv)) # 16 rats, 4 measurements each

# this is a spls (unsupervised analysis) so no need to mention any factor in design
# we only perform a one level variation split
design <- data.frame(sample = repeat.indiv)

tune.splslevel(X = liver.toxicity$gene,
Y=liver.toxicity$clinic,
multilevel = design,
test.keepX = c(5,10,15),
test.keepY = c(1,2,5),
ncomp = 1)

# }

Run the code above in your browser using DataLab