nnfun
Nearest Neighbour Index Map as a Function
Compute the nearest neighbour index map of an object, and return it as a function.
Usage
nnfun(X, ...) ## S3 method for class 'ppp':
nnfun(X, ..., k=1)
## S3 method for class 'psp':
nnfun(X, ...)
Arguments
- X
- Any suitable dataset representing a two-dimensional
collection of objects,
such as a point pattern (object of class
"ppp"
) or a line segment pattern (object of class"psp"
). - k
- A single integer. The
k
th nearest neighbour will be found. - ...
- Extra arguments are ignored.
Details
For a collection $X$ of two dimensional objects
(such as a point pattern or a line segment pattern),
the f(x,y)
is the index $i$ identifying the closest member of $X$.
That is, if $i = f(x,y)$ then $X[i]$ is the closest member of
the collection $X$ to the location $(x,y)$.
The command f <- nnfun(X)
returns a function
in the Rlanguage, with arguments x,y
, that represents the
nearest neighbour index function of X
. Evaluating the function f
in the form v <- f(x,y)
, where x
and y
are any numeric vectors of equal length containing coordinates of
spatial locations, yields the indices of the nearest neighbours
to these locations.
If the argument k
is specified then the k
-th nearest
neighbour will be found.
The result of f <- nnfun(X)
also belongs to the class
"funxy"
and to the special class "nnfun"
.
It can be printed and plotted immediately as shown in the Examples.
A nnfun
object can be converted to a pixel image
using as.im
.
Value
- A
function
with argumentsx,y
. The function also belongs to the class"nnfun"
which has a method forprint
. It also belongs to the class"funxy"
which has methods forplot
,contour
andpersp
.
See Also
Examples
f <- nnfun(cells)
f
plot(f)
f(0.2, 0.3)
g <- nnfun(cells, k=2)
g(0.2, 0.3)
L <- psp(runif(10), runif(10), runif(10), runif(10), window=owin())
h <- nnfun(L)
h(0.2, 0.3)