Visit each point in a point pattern, find the neighbouring points, and summarise their marks
markstat(X, fun, N=NULL, R=NULL, …)A marked point pattern. 
    An object of class "ppp".
Function to be applied to the vector of marks.
Integer. If this argument is present,
    the neighbourhood of a point of X is defined to consist of the
    N points of X which are closest to it.
Nonnegative numeric value. If this argument is present,
    the neighbourhood of a point of X is defined to consist of
    all points of X which lie within a distance R
    of it.
extra arguments passed to the function fun.
    They must be given in the form name=value.
Similar to the result of apply.
  if each call to fun returns a single numeric value,
  the result is a vector of dimension npoints(X), the number of points
  in X.
  If each call to fun returns a vector of the same length
  m, then the result is a matrix of dimensions c(m,n);
  note the transposition of the indices, as usual for the family of
  apply functions.
  If the calls to fun return vectors of different lengths,
  the result is a list of length npoints(X).
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 the section on Value.
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.
# NOT RUN {
  trees <- longleaf
  
# }
# NOT RUN {
  # average diameter of 5 closest neighbours of each tree
  md <- markstat(trees, mean, N=5)
  # range of diameters of trees within 10 metre radius
  rd <- markstat(trees, range, R=10)
# }
Run the code above in your browser using DataLab