Function for nearest mean classification.

`nm(x, ...)`# S3 method for default
nm(x, grouping, gamma = 0, ...)
# S3 method for data.frame
nm(x, ...)
# S3 method for matrix
nm(x, grouping, ..., subset, na.action = na.fail)
# S3 method for formula
nm(formula, data = NULL, ..., subset, na.action = na.fail)

x

matrix or data frame containing the explanatory variables
(required, if `formula`

is not given)

grouping

factor specifying the class for each observation
(required, if `formula`

is not given)

formula

formula of the form `groups ~ x1 + x2 + ...`

.
That is, the response is the grouping factor and the right hand side specifies the (non-factor) discriminators

data

Data frame from which variables specified in `formula`

are preferentially to be taken

gamma

gamma parameter for rbf weight of the distance to mean. If `gamma=0`

the posterior is 1 for the
nearest class (mean) and 0 else.

subset

An index vector specifying the cases to be used in the training sample. (Note: If given, this argument must be named!)

na.action

specify the action to be taken if `NA`

s are
found. The default action is for the procedure to fail. An
alternative is `na.omit`

, which leads to rejection of cases with
missing values on any required variable. (Note: If given, this
argument must be named.)

...

further arguments passed to the underlying `sknn`

function

A list containing the function call and the class means (`learn`

)).

`nm`

is calling `sknn`

with the class means as observations.
If `gamma>0`

a gaussian like density is used to weight the distance to the class means
`weight=exp(-gamma*distance)`

. This is similar to an rbf kernel.
If the distances are large it may be useful to `scale`

the data first.

# NOT RUN { data(B3) x <- nm(PHASEN ~ ., data = B3) x$learn x <- nm(PHASEN ~ ., data = B3, gamma = 0.1) predict(x)$post # }