# pcfcross

##### Multitype pair correlation function (cross-type)

Calculates an estimate of the cross-type pair correlation function for a multitype point pattern.

- Keywords
- spatial, nonparametric

##### Usage

```
pcfcross(X, i, j, ...,
r = NULL,
kernel = "epanechnikov", bw = NULL, stoyan = 0.15,
correction = c("isotropic", "Ripley", "translate"),
divisor = c("r", "d"))
```

##### Arguments

- X
The observed point pattern, from which an estimate of the cross-type pair correlation function \(g_{ij}(r)\) will be computed. It must be a multitype point pattern (a marked point pattern whose marks are a factor).

- i
The type (mark value) of the points in

`X`

from which distances are measured. A character string (or something that will be converted to a character string). Defaults to the first level of`marks(X)`

.- j
The type (mark value) of the points in

`X`

to which distances are measured. A character string (or something that will be converted to a character string). Defaults to the second level of`marks(X)`

.- …
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; see Details.

- correction
Choice of edge correction.

- divisor
Choice of divisor in the estimation formula: either

`"r"`

(the default) or`"d"`

. See Details.

##### Details

The cross-type pair correlation function
is a generalisation of the pair correlation function `pcf`

to multitype point patterns.

For two locations \(x\) and \(y\) separated by a distance \(r\),
the probability \(p(r)\) of finding a point of type \(i\) at location
\(x\) and a point of type \(j\) at location \(y\) is
$$
p(r) = \lambda_i \lambda_j g_{i,j}(r) \,{\rm d}x \, {\rm d}y
$$
where \(\lambda_i\) is the intensity of the points
of type \(i\).
For a completely random Poisson marked point process,
\(p(r) = \lambda_i \lambda_j\)
so \(g_{i,j}(r) = 1\).
Indeed for any marked point pattern in which the points of type `i`

are independent of the points of type `j`

,
the theoretical value of the cross-type pair correlation is
\(g_{i,j}(r) = 1\).

For a stationary multitype point process, the cross-type pair correlation
function between marks \(i\) and \(j\) is formally defined as
$$
g_{i,j}(r) = \frac{K_{i,j}^\prime(r)}{2\pi r}
$$
where \(K_{i,j}^\prime\) is the derivative of
the cross-type \(K\) function \(K_{i,j}(r)\).
of the point process. See `Kest`

for information
about \(K(r)\).

The command `pcfcross`

computes a kernel estimate of
the cross-type pair correlation function between marks \(i\) and
\(j\).

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

The companion function `pcfdot`

computes the
corresponding analogue of `Kdot`

.

##### Value

An object of class `"fv"`

, see `fv.object`

,
which can be plotted directly using `plot.fv`

.

Essentially a data frame containing columns

the vector of values of the argument \(r\) at which the function \(g_{i,j}\) has been estimated

the theoretical value \(g_{i,j}(r) = 1\) for independent marks.

##### See Also

Mark connection function `markconnect`

.

##### Examples

```
# NOT RUN {
data(amacrine)
p <- pcfcross(amacrine, "off", "on")
p <- pcfcross(amacrine, "off", "on", stoyan=0.1)
plot(p)
# }
```

*Documentation reproduced from package spatstat, version 1.59-0, License: GPL (>= 2)*