## S3 method for class 'ppp':
pcf(X, \dots, r = NULL, kernel="epanechnikov", bw=NULL,
stoyan=0.15,
correction=c("translate", "Ripley"),
divisor = c("r", "d"),
domain=NULL)"ppp").density.density.density."r" (the default) or "d". See Details."fv").
Essentially a data frame containing the variables Formally, the pair correlation function of a stationary point process
is defined by
$$g(r) = \frac{K'(r)}{2\pi r}$$
where $K'(r)$ is the derivative of $K(r)$, the
reduced second moment function (aka ``Ripley's $K$ function'')
of the point process. See Kest for information
about $K(r)$.
For a stationary Poisson process, the pair correlation function is identically equal to 1. Values $g(r) < 1$ suggest inhibition between points; values greater than 1 suggest clustering.
This routine computes an estimate of $g(r)$ by kernel smoothing.
divisor="r"(the default), then 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.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"orcorrection="translation"then the translation correction
is used. Fordivisor="r"the translation-corrected estimate
is given in equation (15.15), page 284 of Stoyan and Stoyan (1994).correction="Ripley"then Ripley's isotropic edge correction
is used. Fordivisor="r"the isotropic-corrected estimate
is given in equation (15.18), page 285 of Stoyan and Stoyan (1994).correction=c("translate", "Ripley")then both estimates
will be computed.kernel which is passed to density.
The default is the Epanechnikov kernel, recommended by
Stoyan and Stoyan (1994, page 285). 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, the argument bw is
equivalent to $h/\sqrt{5}$.
Stoyan and Stoyan (1994, page 285) recommend using the Epanechnikov
kernel with support $[-h,h]$ chosen by the rule of thumn
$h = c/\sqrt{\lambda}$,
where $\lambda$ is the (estimated) intensity of the
point process, and $c$ is a constant in the range from 0.1 to 0.2.
See equation (15.16).
If bw is missing, then this rule of thumb will be applied.
The argument stoyan determines the value of $c$.
The argument r is the vector of values for the
distance $r$ at which $g(r)$ should be evaluated.
There is a sensible default.
If it is specified, r must be a vector of increasing numbers
starting from r[1] = 0,
and max(r) must not exceed half the diameter of
the window.
If the argument domain is given, estimation will be restricted
to this region. That is, the estimate of
$g(r)$ will be based on pairs of points in which the first point lies
inside domain and the second point is unrestricted.
The argument domain
should be a window (object of class "owin") or something acceptable to
as.owin. It must be a subset of the
window of the point pattern X.
To compute a confidence band for the true value of the
pair correlation function, use lohboot.
Kest,
pcf,
density,
lohboot.data(simdat)
<testonly>simdat <- simdat[seq(1,simdat$n, by=4)]</testonly>
p <- pcf(simdat)
plot(p, main="pair correlation function for simdat")
# indicates inhibition at distances r < 0.3
pd <- pcf(simdat, divisor="d")
# compare estimates
plot(p, cbind(iso, theo) ~ r, col=c("blue", "red"),
ylim.covers=0, main="", lwd=c(2,1), lty=c(1,3), legend=FALSE)
plot(pd, iso ~ r, col="green", lwd=2, add=TRUE)
legend("center", col=c("blue", "green"), lty=1, lwd=2,
legend=c("divisor=r","divisor=d"))Run the code above in your browser using DataLab