R: Marked pair correlation function

pcfmulti {spatstat.core} | R Documentation

## Marked pair correlation function

### Description

For a marked point pattern, estimate the multitype pair correlation function using kernel methods.

### Usage

       pcfmulti(X, I, J, ..., r = NULL,
                kernel = "epanechnikov", bw = NULL, stoyan = 0.15,
                correction = c("translate", "Ripley"),
                divisor = c("r", "d"),
                Iname = "points satisfying condition I",
                Jname = "points satisfying condition J")

### Arguments

`X` | The observed point pattern, from which an estimate of the cross-type pair correlation function g[i,j](r) will be computed. It must be a multitype point pattern (a marked point pattern whose marks are a factor).
`I` | Subset index specifying the points of `X` from which distances are measured.
`J` | Subset index specifying the points in `X` to which distances are measured.
`...` | Ignored.
`r` | Vector of values for the argument r at which g(r) should be evaluated. There is a sensible default.
`kernel` | Choice of smoothing kernel, passed to `density.default`.
`bw` | Bandwidth for smoothing kernel, passed to `density.default`.
`stoyan` | Coefficient for default bandwidth rule.
`correction` | Choice of edge correction.
`divisor` | Choice of divisor in the estimation formula: either `"r"` (the default) or `"d"`.
`Iname,Jname` | Optional. Character strings describing the members of the subsets `I` and `J`.

### Details

This is a generalisation of `pcfcross` to arbitrary collections of points.

The algorithm measures the distance from each data point in subset `I` to each data point in subset `J`, excluding identical pairs of points. The distances are kernel-smoothed and renormalised to form a pair correlation function.

- If `divisor="r"` (the default), then the multitype counterpart of the standard kernel estimator (Stoyan and Stoyan, 1994, pages 284–285) is used. By default, the recommendations of Stoyan and Stoyan (1994) are followed exactly.

- If `divisor="d"` then a modified estimator is used: the contribution from an interpoint distance d[ij] to the estimate of g(r) is divided by d[ij] instead of dividing by r. This usually improves the bias of the estimator when r is close to zero.

There is also a choice of spatial edge corrections (which are needed to avoid bias due to edge effects associated with the boundary of the spatial window): `correction="translate"` is the Ohser-Stoyan translation correction, and `correction="isotropic"` or `"Ripley"` is Ripley's isotropic correction.

The arguments `I` and `J` specify two subsets of the point pattern `X`. They may be any type of subset indices, for example, logical vectors of length equal to `npoints(X)`, or integer vectors with entries in the range 1 to `npoints(X)`, or negative integer vectors.

Alternatively, `I` and `J` may be functions that will be applied to the point pattern `X` to obtain index vectors. If `I` is a function, then evaluating `I(X)` should yield a valid subset index. This option is useful when generating simulation envelopes using `envelope`.

The choice of smoothing kernel is controlled by the argument `kernel` which is passed to `density`. The default is the Epanechnikov kernel.

The bandwidth of the smoothing kernel can be controlled by the argument `bw`. Its precise interpretation is explained in the documentation for `density.default`. For the Epanechnikov kernel with support [-h,h], the argument `bw` is equivalent to h/sqrt(5).

If `bw` is not specified, the default bandwidth is determined by Stoyan's rule of thumb (Stoyan and Stoyan, 1994, page 285) applied to the points of type `j`. That is, h = c/sqrt(lambda), where lambda is the (estimated) intensity of the point process of type `j`, and c is a constant in the range from 0.1 to 0.2. The argument `stoyan` determines the value of c.

### Value

An object of class `"fv"`.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

and Rolf Turner r.turner@auckland.ac.nz

### See Also

`pcfcross`, `pcfdot`, `pcf.ppp`.

### Examples

      adult <- (marks(longleaf) >= 30)
      juvenile <- !adult
      p <- pcfmulti(longleaf, adult, juvenile)

[Package spatstat.core version 2.3-1 Index]