| nnfun {spatstat.geom} | R Documentation |
Nearest Neighbour Index Map as a Function
Description
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, value=c("index", "mark"))
## S3 method for class 'psp'
nnfun(X, ..., value=c("index", "mark"))
Arguments
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 ( |
Details
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.
Value
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.
Author(s)
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.
See Also
Examples
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)