\name{knnCMA} \alias{knnCMA} \title{Nearest Neighbours} \description{Ordinary \code{k} nearest neighbours algorithm from the very fast implementation in the package \code{class}. For \code{S4} method information, see \link{knnCMA-methods}. } \usage{ knnCMA(X, y, f, learnind, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{X}{Gene expression data. Can be one of the following: \itemize{ \item A \code{matrix}. Rows correspond to observations, columns to variables. \item A \code{data.frame}, when \code{f} is \emph{not} missing (s. below). \item An object of class \code{ExpressionSet}. } } \item{y}{Class labels. Can be one of the following: \itemize{ \item A \code{numeric} vector. \item A \code{factor}. \item A \code{character} if \code{X} is an \code{ExpressionSet} that specifies the phenotype variable. \item \code{missing}, if \code{X} is a \code{data.frame} and a proper formula \code{f} is provided. } \bold{WARNING}: The class labels will be re-coded to range from \code{0} to \code{K-1}, where \code{K} is the total number of different classes in the learning set. } \item{f}{A two-sided formula, if \code{X} is a \code{data.frame}. The left part correspond to class labels, the right to variables.} \item{learnind}{An index vector specifying the observations that belong to the learning set. Must not be missing for this method.} \item{\dots}{Further arguments to be passed to \code{knn} from the package \code{class}, in particular the number of nearest neighbours to use (argument \code{k}).} } \value{An object of class \code{\link{cloutput}}.} \note{Class probabilities are \emph{not} returned. For a probabilistic variant of \code{knn}, s. \code{\link{pknnCMA}}.} \references{Ripley, B.D. (1996) Pattern Recognition and Neural Networks. \emph{Cambridge University Press}} \author{Martin Slawski \email{martin.slawski@campus.lmu.de} Anne-Laure Boulesteix \url{http://www.slcmsr.net/boulesteix}} \seealso{\code{\link{compBoostCMA}}, \code{\link{dldaCMA}}, \code{\link{ElasticNetCMA}}, \code{\link{fdaCMA}}, \code{\link{flexdaCMA}}, \code{\link{gbmCMA}}, \code{\link{ldaCMA}}, \code{\link{LassoCMA}}, \code{\link{nnetCMA}}, \code{\link{pknnCMA}}, \code{\link{plrCMA}}, \code{\link{pls_ldaCMA}}, \code{\link{pls_lrCMA}}, \code{\link{pls_rfCMA}}, \code{\link{pnnCMA}}, \code{\link{qdaCMA}}, \code{\link{rfCMA}}, \code{\link{scdaCMA}}, \code{\link{shrinkldaCMA}}, \code{\link{svmCMA}}} \examples{ ### load Golub AML/ALL data data(golub) ### extract class labels golubY <- golub[,1] ### extract gene expression from first 10 genes golubX <- as.matrix(golub[,-1]) ### select learningset ratio <- 2/3 set.seed(111) learnind <- sample(length(golubY), size=floor(ratio*length(golubY))) ### run k-nearest neighbours result <- knnCMA(X=golubX, y=golubY, learnind=learnind, k = 3) ### show results show(result) ftable(result) ### multiclass example: ### load Khan data data(khan) ### extract class labels khanY <- khan[,1] ### extract gene expression khanX <- as.matrix(khan[,-1]) ### select learningset set.seed(111) learnind <- sample(length(khanY), size=floor(ratio*length(khanY))) ### run knn result <- knnCMA(X=khanX, y=khanY, learnind=learnind, k = 5) ### show results show(result) ftable(result) } \keyword{multivariate}