Fast caclulation of the k-nearest neighbor distances in a matrix of points.
The plot can be used to help find a suitable value for the
eps neighborhood for DBSCAN. Look for the knee in the plot.
kNNdist(x, k, ...) kNNdistplot(x, k = 4, ...)
- the data set as a matrix or a dist object.
- number of nearest neighbors used (use minPoints).
- further arguments are passed on to
kNN for a discusion of the kd-tree related parameters.
kNNdist returns a numeric vector with the distance to its k nearest
data(iris) iris <- as.matrix(iris[,1:4]) kNNdist(iris, k=4, search="kd") kNNdistplot(iris, k=4) ## the knee is around a distance of .5 cl <- dbscan(iris, eps = .5, minPts = 4) pairs(iris, col = cl$cluster+1L) ## Note: black are noise points