spatstat (version 1.63-0)

# 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, …)`

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

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

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

`applynbd`, `marktable`, `ppp.object`, `apply`

## Examples

```# 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)
# }
```