Calculates an estimate of the multitype pair correlation function
(from points of type `i`

to points of any type)
for a multitype point pattern.

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

X

The observed point pattern, from which an estimate of the dot-type pair correlation function \(g_{i\bullet}(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)`

.

…

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.

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\bullet}\) has been estimated

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

This is a generalisation of the pair correlation function `pcf`

to multitype point patterns.

For two locations \(x\) and \(y\) separated by a nonzero distance \(r\), the probability \(p(r)\) of finding a point of type \(i\) at location \(x\) and a point of any type at location \(y\) is $$ p(r) = \lambda_i \lambda g_{i\bullet}(r) \,{\rm d}x \, {\rm d}y $$ where \(\lambda\) is the intensity of all points, and \(\lambda_i\) is the intensity of the points of type \(i\). For a completely random Poisson marked point process, \(p(r) = \lambda_i \lambda\) so \(g_{i\bullet}(r) = 1\).

For a stationary multitype point process, the
type-`i`

-to-any-type pair correlation
function between marks \(i\) and \(j\) is formally defined as
$$
g_{i\bullet}(r) = \frac{K_{i\bullet}^\prime(r)}{2\pi r}
$$
where \(K_{i\bullet}^\prime\) is the derivative of
the type-`i`

-to-any-type \(K\) function
\(K_{i\bullet}(r)\).
of the point process. See `Kdot`

for information
about \(K_{i\bullet}(r)\).

The command `pcfdot`

computes a kernel estimate of
the multitype pair correlation function from points of type \(i\)
to points of any type.

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). That is,
\(h = c/\sqrt{\lambda}\),
where \(\lambda\) is the (estimated) intensity of the
unmarked point process,
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 `pcfcross`

computes the
corresponding analogue of `Kcross`

.

Mark connection function `markconnect`

.

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