predict.lda {MASS} | R Documentation

## Classify Multivariate Observations by Linear Discrimination

### Description

Classify multivariate observations in conjunction with `lda`, and also project data onto the linear discriminants.

### Usage

    predict(object, newdata, prior, dimen,
     method = c("plug-in", "predictive", "debiased", ...))

### Arguments

`object` | object of class `"lda"`
`newdata` | data frame of cases to be classified or, if object has a formula, a data frame with columns of the same names as the variables used. A vector will be interpreted as a row vector. If newdata is missing, an attempt will be made to retrieve the data used to fit the `lda` object.
`prior` | The prior probabilities of the classes, by default the proportions in the training set or what was set in the call to `lda`.
`dimen` | the dimension of the space to be used. If this is less than `min(p, ng-1)`, only the first `dimen` discriminant components are used (except for `method="predictive"`), and only those dimensions are returned in `x`.
`method` | This determines how the parameter estimation is handled. With `"plug-in"` (the default) the usual unbiased parameter estimates are used and assumed to be correct. With `"debiased"` an unbiased estimator of the log posterior probabilities is used, and with `"predictive"` the parameter estimates are integrated out using a vague prior.

### Details

This function is a method for the generic function `predict()` for class `"lda"`. It can be invoked by calling `predict(x)` for an object `x` of the appropriate class, or directly by calling `predict.lda(x)` regardless of the class of the object.

Missing values in `newdata` are handled by returning `NA` if the linear discriminants cannot be evaluated. If `newdata` is omitted and the `na.action` of the fit omitted cases, these will be omitted on the prediction.

### Value

a list with components

`class` | The MAP classification (a factor)
`posterior` | posterior probabilities for the classes
`x` | the scores of test cases on up to `dimen` discriminant variables

### Note

This version differs from that in V&R2 in centering the linear discriminants so that the weighted mean (weighted by `prior`) of the group centroids is at the origin, rather than the unweighted mean.

### See Also

`lda`, `qda`, `predict.qda`

### Examples

    data(iris3)
    tr <- sample(1:50,25)
    train <- rbind(iris3[tr,,1],iris3[tr,,2],iris3[tr,,3])
    test <- rbind(iris3[-tr,,1],iris3[-tr,,2],iris3[-tr,,3])
    cl <- factor(c(rep("s",25),rep("c",25), rep("v",25)))
    z <- lda(train, cl)
    predict(z, test)$class