Finds the nearest neighbour of each point in a three-dimensional point pattern.
# S3 method for pp3
nnwhich(X, ..., k=1)Numeric vector or matrix giving, for each point,
the index of its nearest neighbour (or kth nearest neighbour).
If k = 1 (the default), the return value is a
numeric vector v giving the indices of the nearest neighbours
(the nearest neighbout of the ith point is
the jth point where j = v[i]).
If k is a single integer, then the return value is a
numeric vector giving the indices of the
kth nearest neighbours.
If k is a vector, then the return value is a
matrix m such that m[i,j] is the
index of the k[j]th nearest neighbour for the
ith data point.
Three-dimensional point pattern
(object of class "pp3").
Ignored.
Integer, or integer vector. The algorithm will compute the distance to the
kth nearest neighbour.
A value of NA is returned if there is only one point
in the point pattern.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au based on two-dimensional code by Pavel Grabarnik pavel.grabar@issp.serpukhov.su.
For each point in the given three-dimensional
point pattern, this function finds
its nearest neighbour (the nearest other point of the pattern).
By default it returns a vector giving, for each point,
the index of the point's
nearest neighbour. If k is specified, the algorithm finds
each point's kth nearest neighbour.
The function nnwhich is generic. This is the method
for the class "pp3".
If there are no points in the pattern,
a numeric vector of length zero is returned.
If there is only one point,
then the nearest neighbour is undefined, and a value of NA
is returned. In general if the number of points is less than or equal
to k, then a vector of NA's is returned.
To evaluate the distance between a point and its nearest
neighbour, use nndist.
To find the nearest neighbours from one point pattern
to another point pattern, use nncross.
nnwhich,
nndist,
nncross
if(require(spatstat.random)) {
X <- runifpoint3(30)
} else {
X <- osteo$pts[[1]]
}
m <- nnwhich(X)
m2 <- nnwhich(X, k=2)
Run the code above in your browser using DataLab