Given a pattern of points on a linear network, this function computes the
nearest neighbour distance for each point (i.e. the distance
from each point to the nearest other point), measuring
distance by the shortest path in the network.
If method="C"
the distances are computed using
code in the C language. If method="interpreted"
then the
computation is performed using interpreted R code. The R code is
much slower, but is provided for checking purposes.
The k
th nearest neighbour distance is infinite
if the k
th nearest neighbour does not exist. This can occur
if there are fewer than k+1
points in the dataset, or if
the linear network is not connected.
If the argument by
is given, it should be a factor
,
of length equal to the number of points in X
.
This factor effectively partitions X
into subsets,
each subset associated with one of the levels of X
.
The algorithm will then compute, for each point of X
,
the distance to the nearest neighbour in each subset.