matchpt
Nearest neighbor search.
Find the nearest neighbors of a set of query points in the same or another set of points in an ndimensional real vector space, using the Euclidean distance.
Usage
matchpt(x, y)
Arguments
 x
 A matrix (or vector) of coordinates.
Each row represents a point in an
ncol(x)
dimensional real vector space.  y
 Optional, matrix (or vector) with the same number of columns
as
x
.
Details
If y
is provided, the function searches
for each point in x
its nearest neighbor in y
.
If y
is missing, it searches
for each point in x
its nearest neighbor in x
,
excluding that point itself.
In the case of ties, only the neighbor with the smaller index is given.
The implementation is simple and of complexity nrow(x)
times
nrow(y)
. For larger problems, please consider one of the many
more efficient nearest neighbor search algorithms.
Value

A
data.frame
with two columns and nrow(x)
rows.
The first column is the index of the nearest neighbor,
the second column the distance to the nearest neighbor.
If y
was given, the index is a row number in y
,
otherwise, in x
. The row names of the result are those of x
.
Examples
a < matrix(c(2,2,3,5,1,8,1,4,5,6), ncol=2L, nrow=5L)
rownames(a) = LETTERS[seq_len(nrow(a))]
matchpt(a)
b < c(1,2,4,5,6)
d < c(5.3, 3.2, 8.9, 1.3, 5.6, 6, 4.45, 3.32)
matchpt(b, d)
matchpt(d, b)
Community examples
Looks like there are no examples yet.