```
## S3 method for class 'formula':
knn3(formula, data, subset, na.action, k = 5, ...)
```## S3 method for class 'matrix':
knn3(x, y, k = 5, ...)

knn3Train(train, test, cl, k=1, l=0, prob = TRUE, use.all=TRUE)

formula

a formula of the form

`lhs ~ rhs`

where `lhs`

is the response variable and `rhs`

a set of
predictors.data

optional data frame containing the variables in the
model formula.

subset

optional vector specifying a subset of observations
to be used.

na.action

function which indicates what should happen when
the data contain

`NA`

s.k

number of neighbours considered.

x

a matrix of training set predictors

y

a factor vector of training set classes

...

additional parameters to pass to

`knn3Train`

. However, passing
`prob = FALSE`

will be over--ridden.train

matrix or data frame of training set cases.

test

matrix or data frame of test set cases. A vector will be interpreted
as a row vector for a single case.

cl

factor of true classifications of training set

l

minimum vote for definite decision, otherwise

`doubt`

. (More
precisely, less than `k-l`

dissenting votes are allowed, even if `k`

is increased by ties.)prob

If this is true, the proportion of the votes for each class
are returned as attribute

`prob`

.use.all

controls handling of ties. If true, all distances equal to the

`k`

th
largest are included. If false, a random selection of distances
equal to the `k`

th is chosen to use exactly `k`

neighbours.- An object of class
`knn3`

. See`predict.knn3`

.

`knn3`

is essentially the same code as `ipredknn`

and `knn3Train`

is a copy of `knn`

. The underlying
C code from the `class`

pacakge has been modifed to return the vote
percentages for each class (previously the percentage for the winning
class was returned).irisFit1 <- knn3(Species ~ ., iris) irisFit2 <- knn3(as.matrix(iris[, -5]), iris[,5]) data(iris3) train <- rbind(iris3[1:25,,1], iris3[1:25,,2], iris3[1:25,,3]) test <- rbind(iris3[26:50,,1], iris3[26:50,,2], iris3[26:50,,3]) cl <- factor(c(rep("s",25), rep("c",25), rep("v",25))) knn3Train(train, test, cl, k = 5, prob = TRUE)