Learn R Programming

mixOmics (version 4.1-4)

plsda: Partial Least Squares Discriminate Analysis (PLS-DA).

Description

Function to perform standard Partial Least Squares regression to classify samples.

Usage

plsda(X, Y, ncomp = 2, max.iter = 500, tol = 1e-06, ...)

Arguments

X
numeric matrix of predictors. NAs are allowed.
Y
a factor or a class vector for the discrete outcome.
ncomp
the number of components to include in the model. Default to 2.
max.iter
integer, the maximum number of iterations.
tol
a not negative real, the tolerance used in the iterative algorithm.
...
arguments to pass to nearZeroVar.

Value

  • plsda returns an object of class "plsda", a list that contains the following components:
  • Xthe centered and standardized original predictor matrix.
  • Ythe centered and standardized indicator response vector or matrix.
  • ind.matthe indicator matrix.
  • ncompthe number of components included in the model.
  • mat.cmatrix of coefficients to be used internally by predict.
  • variateslist containing the X and Y variates.
  • loadingslist containing the estimated loadings for the variates.
  • nameslist containing the names to be used for individuals and variables.
  • nzvlist containing the zero- or near-zero predictors information.

encoding

latin1

Details

plsda function fit PLS models with $1,...,$ncomp components to the factor or class vector Y. The appropriate indicator matrix is created.

References

P�rez-Enciso, M. and Tenenhaus, M. (2003). Prediction of clinical outcome with microarray data: a partial least squares discriminant analysis (PLS-DA) approach. Human Genetics 112, 581-592. Nguyen, D. V. and Rocke, D. M. (2002). Tumor classification by partial least squares using microarray gene expression data. Bioinformatics 18, 39-50. Tenenhaus, M. (1998). La r�gression PLS: th�orie et pratique. Paris: Editions Technic.

See Also

splsda, summary, plotIndiv, plotVar, plot3dIndiv, plot3dVar, predict, valid and http://www.math.univ-toulouse.fr/~biostat/mixOmics/ for more details.

Examples

Run this code
## First example
data(breast.tumors)
X <- breast.tumors$gene.exp
Y <- breast.tumors$sample$treatment

plsda.breast <- plsda(X, Y, ncomp = 2)
palette(c("red", "blue"))
col.breast <- as.numeric(as.factor(Y))
plotIndiv(plsda.breast, ind.names = TRUE, col = col.breast)
legend('bottomleft', c("After", "Before"), pch = c(16, 16), 
       col = unique(col.breast), cex = 1, pt.cex = c(1.2, 1.2), 
       title = "Treatment")
palette("default")

## Second example
data(liver.toxicity)
X <- liver.toxicity$gene
Y <- liver.toxicity$treatment[, 4]

plsda.liver <- plsda(X, Y, ncomp = 2)
col.rat <- as.numeric(as.factor(Y))
plotIndiv(plsda.liver, col = col.rat, ind.names = Y)

Run the code above in your browser using DataLab