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"))
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).
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.
Vector of values for the argument \(r\) at which \(g(r)\) should be evaluated. There is a sensible default.
Choice of smoothing kernel,
passed to density.default
.
Bandwidth for smoothing kernel,
passed to density.default
.
Coefficient for default bandwidth rule; see Details.
Choice of edge correction.
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)
# }
Run the code above in your browser using DataLab