# pcf

0th

Percentile

##### Pair Correlation Function

Estimates the pair correlation function of a point pattern.

Keywords
spatial
##### Usage
pcf(X, ..., method="c")
##### Arguments
X
Either the observed data point pattern, or an estimate of its $K$ function, or an array of multitype $K$ functions (see Details).
...
Arguments controlling the smoothing spline function smooth.spline.
method
Letter "a", "b", code{"c"} or "d" indicating the method for deriving the pair correlation function from the K function.
##### 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)$ from an estimate of $K(r)$ or its variants, using smoothing splines to approximate the derivative.

The argument X may be either

• a point pattern for which an estimate of the pair correlation function should be computed. This should be an object of class"ppp", or in a format recognised byas.ppp().
• an estimated$K$function, given as a function value table (object of class"fv", seefv.object). This object should be the value returned byKest,Kcross,KmultiorKinhom.
• a function array (object of class"fasp", seefasp.object) containing several estimates of$K$functions. This should have been obtained fromalltypeswith the argumentfun="K".
If X is a point pattern, the $K$ function is first estimated by Kest. The smoothing spline operations are performed by smooth.spline and predict.smooth.spline from the modreg library. Four numerical methods are available:
• "a"apply smoothing to$K(r)$, estimate its derivative, and plug in to the formula above;
• "b"apply smoothing to$Y(r) = \frac{K(r)}{2 \pi r}$constraining$Y(0) = 0$, estimate the derivative of$Y$, and solve;
• "c"apply smoothing to$Z(r) = \frac{K(r)}{\pi r^2}$constraining$Z(0)=1$, estimate its derivative, and solve.
• "d"apply smoothing to$V(r) = \sqrt{K(r)}$, estimate its derivative, and solve.
Method "c" seems to be the best at suppressing variability for small values of $r$. However it effectively constrains $g(0) = 1$. If the point pattern seems to have inhibition at small distances, you may wish to experiment with method "b" which effectively constrains $g(0)=0$. Method "a" seems comparatively unreliable.

Useful arguments to control the splines include the smoothing tradeoff parameter spar and the degrees of freedom df. See smooth.spline 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.

If X is an unmarked point pattern, the return value is a function value table (class "fv"). It is essentially a data frame containing (at least) the variables

• rthe vector of values of the argument $r$ at which the pair correlation function $g(r)$ has been estimated
• pcfvector of values of $g(r)$
• If code{X} is a function value table (class "fv") representing the estimated $K$ function of a point pattern (obtained from Kest, Kinhom or Kest.fft), then the return value is again a function value table, representing the pair correlation function.

If X is a multitype point pattern, the return value is a function array (class "fasp"). This can be thought of as a matrix Y each of whose entries Y[i,j] is a function value table (class "fv") representing the pair correlation function between points of type i and points of type j.

If X is a function array (class "fasp") representing an array of estimated $K$ functions (obtained from alltypes), the return value is another function array, containing the corresponding pair correlation functions.

##### References

Stoyan, D, Kendall, W.S. and Mecke, J. (1995) Stochastic geometry and its applications. 2nd edition. Springer Verlag.

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

Kest, Kinhom, Kcross, Kdot, Kmulti, alltypes, smooth.spline, predict.smooth.spline

• pcf
##### Examples
# univariate point pattern
data(simdat)
p <- pcf(simdat, spar=0.5, method="b")
plot(p, main="pair correlation function for simdat")
# indicates inhibition at distances r < 0.3

# multitype point pattern
data(betacells)
p <- pcf(alltypes(betacells, "K"), spar=0.5, method="b")
plot(p)
# short range inhibition between all types
# strong inhibition between "on" and "off"
Documentation reproduced from package spatstat, version 1.5-5, License: GPL version 2 or newer

### Community examples

Looks like there are no examples yet.