Learn R Programming

spatstat.geom (version 3.2-5)

markstat: Summarise Marks in Every Neighbourhood in a Point Pattern

Description

Visit each point in a point pattern, find the neighbouring points, and summarise their marks

Usage

markstat(X, fun, N=NULL, R=NULL, ...)

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).

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 the N points of X 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 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.

Author

Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner r.turner@auckland.ac.nz and Ege Rubak rubak@math.aau.dk.

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 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.

See Also

applynbd, marktable, ppp.object, apply

Examples

Run this code
  trees <- longleaf
  # \testonly{
     trees <- trees[seq(1, npoints(trees), by=6)]
  # }

  # 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