predict.lda {MASS} | R Documentation |
Classify multivariate observations in conjunction with lda
, and also
project data onto the linear discriminants.
predict.lda(object, newdata, prior, dimen, method = c("plug-in", "predictive", "debiased"))
object |
object of class "lda"
|
newdata |
matrix or 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.
|
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.
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
|
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.
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