markstat
Summarise Marks in Every Neighbourhood in a Point Pattern
Visit each point in a point pattern, find the neighbouring points, and summarise their marks
- Keywords
- spatial, programming
Usage
markstat(X, fun, N=NULL, R=NULL, ...)
Arguments
- X
- A marked point pattern.
An object of class
"ppp"
. - fun
- Function to be applied to the vector of marks.
- N
- Integer. If this argument is present,
the neighbourhood of a point of
X
is defined to consist of theN
points ofX
which are closest to it. - R
- Nonnegative numeric value. If this argument is present,
the neighbourhood of a point of
X
is defined to consist of all points ofX
which lie within a distanceR
of it. - ...
- extra arguments passed to the function
fun
. They must be given in the formname=value
.
Details
This algorithm visits each point in the point pattern X
,
determines which points of X
are ``neighbours'' of the current
point, extracts the marks of these neighbouring points,
applies the function fun
to the marks,
and collects the value or values returned by fun
.
The definition of ``neighbours'' depends on the arguments
N
and R
, exactly one of which must be given.
If N
is given, then the neighbours of the current
point are the N
points of X
which are closest to
the current point (including the current point itself).
If R
is given, then the neighbourhood of the current point
consists of all points of X
which lie closer than a distance R
from the current point.
Each point of X
is visited; the neighbourhood
of the current point is determined; the marks of these points
are extracted as a vector v
; then the function
fun
is called as:
fun(v, ...)
where ...
are the arguments passed from the call to
markstat
.
The results of each call to fun
are collected and returned
according to the usual rules for apply
and its
relatives. See Value above.
This function is just a convenient wrapper for a common use of the
function applynbd
. For more complex tasks,
use applynbd
.
To simply tabulate the marks in every R
-neighbourhood, use
marktable
.
Value
- Similar to the result of
apply
. if each call tofun
returns a single numeric value, the result is a vector of dimensionX$n
, the number of points inX
. If each call tofun
returns a vector of the same lengthm
, then the result is a matrix of dimensionsc(m,n)
; note the transposition of the indices, as usual for the family ofapply
functions. If the calls tofun
return vectors of different lengths, the result is a list of lengthX$n
.
See Also
Examples
data(longleaf)
<testonly>longleaf <- longleaf[seq(1, longleaf$n, by=6)]</testonly>
# average diameter of 5 closest neighbours of each tree
md <- markstat(longleaf, mean, N=5)
# range of diameters of trees within 10 metre radius
rd <- markstat(longleaf, range, R=10)