# pcf.ppp

##### Pair Correlation Function of Point Pattern

Estimates the pair correlation function of a point pattern using kernel methods.

- Keywords
- spatial, nonparametric

##### Usage

```
## S3 method for class 'ppp':
pcf(X, \dots, r = NULL, kernel="epanechnikov", bw=NULL, stoyan=0.15,
correction=c("translate", "Ripley"))
```

##### Arguments

- X
- A point pattern (object of class
`"ppp"`

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

. - bw
- Bandwidth for smoothing kernel, passed to
`density`

. - ...
- Other arguments passed to the kernel density estimation
function
`density`

. - stoyan
- Bandwidth coefficient; see Details.
- correction
- Choice of edge correction.

##### Details

The pair correlation function $g(r)$ is a summary of the dependence between points in a spatial point process. The best intuitive interpretation is the following: the probability $p(r)$ of finding two points at locations $x$ and $y$ separated by a distance $r$ is equal to $$p(r) = \lambda^2 g(r) \,{\rm d}x \, {\rm d}y$$ where $\lambda$ is the intensity of the point process. For a completely random (uniform Poisson) process, $p(r) = \lambda^2$ so $g(r) = 1$.

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 the kernel smoothing method (Stoyan and Stoyan (1994), pages 284--285). By default, their recommendations are followed exactly.

If `correction="translate"`

then the translation correction
is used. The estimate is given in equation (15.15), page 284 of
Stoyan and Stoyan (1994).

If `correction="Ripley"`

then Ripley's isotropic edge correction
is used; the estimate is given in equation (15.18), page 285
of Stoyan and Stoyan (1994).

If `correction=c("translate", "Ripley")`

then both estimates
will be computed.

The choice of smoothing kernel is controlled by the
argument `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`

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

##### Value

- A function value table
(object of class
`"fv"`

). Essentially a data frame containing the variables r the vector of values of the argument $r$ at which the pair correlation function $g(r)$ has been estimated theo vector of values equal to 1, the theoretical value of $g(r)$ for the Poisson process trans vector of values of $g(r)$ estimated by translation correction iso vector of values of $g(r)$ estimated by Ripley isotropic correction - as required.

##### References

Stoyan, D. and Stoyan, H. (1994) Fractals, random shapes and point fields: methods of geometrical statistics. John Wiley and Sons.

##### See Also

##### Examples

```
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
```

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