For a multilevel spls analysis, the tuning criterion is based on the maximisation of the correlation between the components from both data sets
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)
numeric matrix of predictors. NA
s are allowed.
if(method = 'spls')
numeric vector or matrix of continuous responses (for multi-response models) NA
s are allowed.
Design matrix for multilevel analysis (for repeated measurements) that indicates the repeated measures on each individual, i.e. the individuals ID. See Details.
the number of components to include in the model.
character string. What type of algorithm to use, (partially) matching
one of "regression"
, "canonical"
, "invariant"
or "classic"
.
numeric vector for the different number of variables to test from the
numeric vector for the different number of variables to test from the
Optional, if ncomp > 1
A numeric vector indicating the number of variables to select from the
Optional, if ncomp > 1
A numeric vector indicating the number of variables to select from the
correlation between latent variables
For a multilevel spls analysis, the tuning criterion is based on the maximisation of the correlation between the components from both data sets
mixOmics article:
Rohart F, Gautier B, Singh A, L<U+00EA> Cao K-A. mixOmics: an R package for 'omics feature selection and multiple data integration. PLoS Comput Biol 13(11): e1005752
splsda
, predict.splsda
and http://www.mixOmics.org for more details.
# 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