Neighborhood based discriminant coordinates as defined in Hastie and Tibshirani (1996) and a robustified version as defined in Hennig (2003). The principle is to maximize the projection of a between classes covariance matrix, which is defined by averaging the between classes covariance matrices in the neighborhoods of all points.

```
ncoord(xd, clvecd, nn=50, weighted=FALSE,
sphere="mcd", orderall=TRUE, countmode=1000, ...)
```

xd

the data matrix; a numerical object which can be coerced to a matrix.

clvecd

integer vector of class numbers; length must equal
`nrow(xd)`

.

nn

integer. Number of points which belong to the neighborhood of each point (including the point itself).

weighted

logical. `FALSE`

corresponds to the original
method of Hastie and Tibshirani (1996). If `TRUE`

,
the between classes
covariance matrices B are weighted by w/trace B, where w is some
weight depending on the sizes of the
classes in the neighborhood. Division by trace B reduces the effect
of outliers. `TRUE`

cooresponds to WNC as defined in Hennig
(2003).

sphere

a covariance matrix or one of
"mve", "mcd", "classical", "none". The matrix used for sphering the
data. "mcd" and "mve" are robust covariance matrices as implemented
in `cov.rob`

. "classical" refers to the classical
covariance matrix. "none" means no sphering and use of the raw
data.

orderall

logical. By default, the neighborhoods are computed by
ordering all points each time. If `FALSE`

, the neighborhoods
are computed by selecting `nn`

times the nearest point from the
remaining points, which may be faster sometimes.

countmode

optional positive integer. Every `countmode`

algorithm runs `ncoord`

shows a message.

...

no effect

List with the following components

eigenvalues in descending order.

columns are coordinates of projection basis vectors.
New points `x`

can be projected onto the projection basis vectors
by `x %*% units`

projections of `xd`

onto `units`

.

Hastie, T. and Tibshirani, R. (1996). Discriminant adaptive nearest
neighbor classification. *IEEE Transactions on Pattern Analysis
and Machine Intelligence* 18, 607-616.

Hennig, C. (2004) Asymmetric linear dimension reduction for classification. Journal of Computational and Graphical Statistics 13, 930-945 .

Hennig, C. (2005) A method for visual cluster validation. In: Weihs, C. and Gaul, W. (eds.): Classification - The Ubiquitous Challenge. Springer, Heidelberg 2005, 153-160.

`plotcluster`

for straight forward discriminant plots.
`discrproj`

for alternatives.
`rFace`

for generation of the example data used below.

# NOT RUN { set.seed(4634) face <- rFace(600,dMoNo=2,dNoEy=0) grface <- as.integer(attr(face,"grouping")) ncf <- ncoord(face,grface) plot(ncf$proj,col=grface) ncf2 <- ncoord(face,grface,weighted=TRUE) plot(ncf2$proj,col=grface) # ...done in one step by function plotcluster. # }