| distfun {spatstat} | R Documentation |
Compute the distance function of an object, and return it as a function.
distfun(X, ...) ## S3 method for class 'ppp' distfun(X, ..., k=1, undef=Inf) ## S3 method for class 'psp' distfun(X, ...) ## S3 method for class 'owin' distfun(X, ..., invert=FALSE)
X |
Any suitable dataset representing a two-dimensional
object, such as a point pattern (object of class |
... |
Extra arguments are ignored. |
k |
An integer. The distance to the |
undef |
The value that should be returned if the distance is undefined
(that is, if |
invert |
If |
The “distance function” of a set of points A is the
mathematical function f such that, for any
two-dimensional spatial location (x,y),
the function value f(x,y)
is the shortest distance from (x,y) to A.
The command f <- distfun(X) returns a function
in the R language, with arguments x,y, that represents the
distance 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 values of the distance function at these
locations. Alternatively x can be a
point pattern (object of class "ppp" or "lpp") of
locations at which the distance function should be computed (and then
y should be missing).
This should be contrasted with the related command distmap
which computes the distance function of X
on a grid of locations, and returns the distance
values in the form of a pixel image.
The result of f <- distfun(X) also belongs to the class
"funxy" and to the special class "distfun".
It can be printed and plotted immediately as shown in the Examples.
A distfun object can be converted to a pixel image
using as.im.
A function with arguments x,y.
The function also belongs to the class "distfun" 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.
data(letterR) f <- distfun(letterR) f plot(f) f(0.2, 0.3) plot(distfun(letterR, invert=TRUE), eps=0.1) d <- distfun(cells) d2 <- distfun(cells, k=2) d(0.5, 0.5) d2(0.5, 0.5) z <- d(japanesepines)