nnmark: Mark of Nearest Neighbour

nnmarkR Documentation

Mark of Nearest Neighbour

Description

Given a marked point pattern dataset X this function computes, for each desired location y, the mark attached to the nearest neighbour of y in X. The desired locations y can be either a pixel grid or the point pattern X itself.

Usage

nnmark(X, ..., k = 1, at=c("pixels", "points"))

Arguments

X

A marked point pattern (object of class "ppp").

...

Arguments passed to as.mask to determine the pixel resolution.

k

Single integer. The kth nearest data point will be used.

at

String specifying whether to compute the values at a grid of pixel locations (at="pixels") or only at the points of X (at="points").

Details

Given a marked point pattern dataset X this function computes, for each desired location y, the mark attached to the point of X that is nearest to y. The desired locations y can be either a pixel grid or the point pattern X itself.

The argument X must be a marked point pattern (object of class "ppp", see ppp.object). The marks are allowed to be a vector or a data frame.

  • If at="points", then for each point in X, the algorithm finds the nearest other point in X, and extracts the mark attached to it. The result is a vector or data frame containing the marks of the neighbours of each point.

  • If at="pixels" (the default), then for each pixel in a rectangular grid, the algorithm finds the nearest point in X, and extracts the mark attached to it. The result is an image or a list of images containing the marks of the neighbours of each pixel. The pixel resolution is controlled by the arguments ... passed to as.mask.

If the argument k is given, then the k-th nearest neighbour will be used.

Value

If X has a single column of marks:

  • If at="pixels" (the default), the result is a pixel image (object of class "im"). The value at each pixel is the mark attached to the nearest point of X.

  • If at="points", the result is a vector or factor of length equal to the number of points in X. Entries are the mark values of the nearest neighbours of each point of X.

If X has a data frame of marks:

  • If at="pixels" (the default), the result is a named list of pixel images (object of class "im"). There is one image for each column of marks. This list also belongs to the class "solist", for which there is a plot method.

  • If at="points", the result is a data frame with one row for each point of X, Entries are the mark values of the nearest neighbours of each point of X.

Author(s)

\adrian \rolf

and \ege

See Also

Smooth.ppp, marktable, nnwhich

Examples

  plot(nnmark(ants))
  v <- nnmark(ants, at="points")
  v[1:10]
  plot(nnmark(finpines))
  vf <- nnmark(finpines, at="points")
  vf[1:5,]

spatstat.geom documentation built on Oct. 20, 2023, 9:06 a.m.