Learn R Programming

CMA (version 1.30.0)

ldaCMA: Linear Discriminant Analysis

Description

Performs a linear discriminant analysis under the assumption of a multivariate normal distribution in each classes (with equal, but generally structured) covariance matrices. The function lda from the package MASS is called for computation. For S4 method information, see ldaCMA-methods.

Usage

ldaCMA(X, y, f, learnind, models=FALSE, ...)

Arguments

X
Gene expression data. Can be one of the following:
  • Amatrix. Rows correspond to observations, columns to variables.
  • Adata.frame, whenfisnotmissing (s. below).
  • An object of classExpressionSet.
y
Class labels. Can be one of the following:
  • Anumericvector.
  • Afactor.
  • AcharacterifXis anExpressionSetthat specifies the phenotype variable.
  • missing, ifXis adata.frameand a proper formulafis provided.
WARNING: The class labels will be re-coded to range from 0 to K-1, where K is the total number of different classes in the learning set.
f
A two-sided formula, if X is a data.frame. The left part correspond to class labels, the right to variables.
learnind
An index vector specifying the observations that belong to the learning set. May be missing; in that case, the learning set consists of all observations and predictions are made on the learning set.
models
a logical value indicating whether the model object shall be returned
...
Further arguments to be passed to lda from the package MASS

Value

References

McLachlan, G.J. (1992). Discriminant Analysis and Statistical Pattern Recognition. Wiley, New York

See Also

compBoostCMA, dldaCMA, ElasticNetCMA, fdaCMA, flexdaCMA, gbmCMA, knnCMA, LassoCMA, nnetCMA, pknnCMA, plrCMA, pls_ldaCMA, pls_lrCMA, pls_rfCMA, pnnCMA, qdaCMA, rfCMA, scdaCMA, shrinkldaCMA, svmCMA

Examples

Run this code
### load Golub AML/ALL data
data(golub)
### extract class labels
golubY <- golub[,1]
### extract gene expression from first 10 genes
golubX <- as.matrix(golub[,2:11])
### select learningset
ratio <- 2/3
set.seed(111)
learnind <- sample(length(golubY), size=floor(ratio*length(golubY)))
### run LDA
ldaresult <- ldaCMA(X=golubX, y=golubY, learnind=learnind)
### show results
show(ldaresult)
ftable(ldaresult)
plot(ldaresult)
### multiclass example:
### load Khan data
data(khan)
### extract class labels
khanY <- khan[,1]
### extract gene expression from first 10 genes
khanX <- as.matrix(khan[,2:11])
### select learningset
set.seed(111)
learnind <- sample(length(khanY), size=floor(ratio*length(khanY)))
### run LDA
ldaresult <- ldaCMA(X=khanX, y=khanY, learnind=learnind)
### show results
show(ldaresult)
ftable(ldaresult)
plot(ldaresult)

Run the code above in your browser using DataLab