# pcf

##### Pair Correlation Function

Estimate the pair correlation function.

- Keywords
- spatial, nonparametric

##### Usage

`pcf(X, ...)`

##### Arguments

- X
- Either the observed data point pattern, or an estimate of its $K$ function, or an array of multitype $K$ functions (see Details).
- ...
- Other arguments passed to the appropriate method.

##### Details

The pair correlation function of a stationary point process is
$$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.

We also apply the same definition to
other variants of the classical $K$ function,
such as the multitype $K$ functions
(see `Kcross`

, `Kdot`

) and the
inhomogeneous $K$ function (see `Kinhom`

).
For all these variants, the benchmark value of
$K(r) = \pi r^2$ corresponds to
$g(r) = 1$.

This routine computes an estimate of $g(r)$ either directly from a point pattern, or indirectly from an estimate of $K(r)$ or one of its variants.

This function is generic, with methods for
the classes `"ppp"`

, `"fv"`

and `"fasp"`

.

If `X`

is a point pattern (object of class `"ppp"`

)
then the pair correlation function is estimated using
a traditional kernel smoothing method (Stoyan and Stoyan, 1994).
See `pcf.ppp`

for details.

If `X`

is a function value table (object of class `"fv"`

),
then it is assumed to contain estimates of the $K$ function
or one of its variants (typically obtained from `Kest`

or
`Kinhom`

).
This routine computes an estimate of $g(r)$
using smoothing splines to approximate the derivative.
See `pcf.fv`

for details.

If `X`

is a function value array (object of class `"fasp"`

),
then it is assumed to contain estimates of several $K$ functions
(typically obtained from `Kmulti`

or
`alltypes`

). This routine computes
an estimate of $g(r)$ for each cell in the array,
using smoothing splines to approximate the derivatives.
See `pcf.fasp`

for details.

##### Value

- Either a function value table
(object of class
`"fv"`

, see`fv.object`

) representing a pair correlation function, or a function array (object of class`"fasp"`

, see`fasp.object`

) representing an array of pair correlation functions.

##### References

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

##### See Also

`pcf.ppp`

,
`pcf.fv`

,
`pcf.fasp`

,
`Kest`

,
`Kinhom`

,
`Kcross`

,
`Kdot`

,
`Kmulti`

,
`alltypes`

##### Examples

```
# ppp object
data(simdat)
<testonly>simdat <- simdat[seq(1,simdat$n, by=4)]</testonly>
p <- pcf(simdat)
plot(p)
# fv object
K <- Kest(simdat)
p2 <- pcf(K)
plot(p2)
# multitype pattern; fasp object
data(betacells)
<testonly>betacells <- betacells[seq(1,betacells$n, by=10)]</testonly>
p <- pcf(alltypes(betacells, "K"))
plot(p)
```

*Documentation reproduced from package spatstat, version 1.9-2, License: GPL version 2 or newer*