Compute a kernel estimate of intensity for a point pattern, and return the result as a function of spatial location.
densityfun(X, …)# S3 method for ppp
densityfun(X, sigma = NULL, …,
weights = NULL, edge = TRUE, diggle = FALSE)
Point pattern (object of class "ppp").
Smoothing bandwidth, or bandwidth selection function,
passed to density.ppp.
Additional arguments passed to density.ppp.
Optional vector of weights associated with the points of X.
Logical arguments controlling the edge correction.
Arguments passed to density.ppp.
A function with arguments x,y,drop.
The function also belongs to the class "densityfun" which has
methods for print and as.im.
It also belongs to the class "funxy" which has methods
for plot, contour and persp.
If f <- densityfun(X), where X is a two-dimensional
point pattern, the resulting object f
is a function in the R language.
By calling this function, the user can evaluate the estimated intensity at any desired spatial locations.
Additionally f belongs to other
classes which allow it to be printed and plotted easily.
The function f has arguments x,y,drop.
The arguments x,y of f
specify the query locations. They can be numeric vectors
of coordinates. Alternatively x can be a point pattern
(or data acceptable to as.ppp) and y is omitted.
The result of f(x,y) is a numeric vector giving the values of
the intensity.
The argument drop of f specifies how to handle query locations
which are outside the window of the original data.
If drop=TRUE (the default), such locations are ignored.
If drop=FALSE, a value of NA is returned
for each such location.
Note that the smoothing parameters, such as the bandwidth
sigma, are assigned when densityfun is executed.
Smoothing parameters are fixed inside the function f
and cannot be changed by arguments of f.
The commands densityfun and density
both perform kernel estimation of the intensity of a point pattern.
The difference is that density returns a pixel image,
containing the estimated intensity values at a grid of locations, while
densityfun returns a function(x,y) which can be used
to compute the intensity estimate at any spatial locations
with coordinates x,y.
For purposes such as model-fitting it is more accurate to
use densityfun.
To interpolate values observed at the points, use Smoothfun.
# NOT RUN {
f <- densityfun(swedishpines)
f
f(42, 60)
X <- runifpoint(2, Window(swedishpines))
f(X)
plot(f)
# }
Run the code above in your browser using DataLab