Nearest Neighbour Index Map as a Function
Compute the nearest neighbour index map of an object, and return it as a function.
nnfun(X, ...) ## S3 method for class 'ppp' nnfun(X, ..., k=1, value=c("index", "mark")) ## S3 method for class 'psp' nnfun(X, ..., value=c("index", "mark"))
X |
Any suitable dataset representing a two-dimensional
collection of objects,
such as a point pattern (object of class |
k |
A single integer. The |
... |
Extra arguments are ignored. |
value |
String (partially matched) specifying whether to return the
index of the neighbour ( |
For a collection X of two dimensional objects
(such as a point pattern or a line segment pattern),
the “nearest neighbour index function”
of X is the mathematical function f such that, for any
two-dimensional spatial location (x,y),
the function value 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 R language, 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
.
A function
with arguments x,y
.
The function also belongs to the class "nnfun"
which has
a method for print
.
It also belongs to the class "funxy"
which has methods
for plot
, contour
and persp
.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner r.turner@auckland.ac.nz and Ege Rubak rubak@math.aau.dk.
f <- nnfun(cells) f plot(f) f(0.2, 0.3) g <- nnfun(cells, k=2) g(0.2, 0.3) plot(nnfun(amacrine, value="m")) L <- psp(runif(10), runif(10), runif(10), runif(10), window=owin()) h <- nnfun(L) h(0.2, 0.3)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.