Estimate the I-function

Estimates the summary function $I(r)$ for a multitype point pattern.

spatial, nonparametric
Iest(X, eps=NULL, r=NULL, breaks=NULL)
The observed point pattern, from which an estimate of $I(r)$ will be computed. An object of class "ppp", or data in any format acceptable to as.ppp().
the resolution of the discrete approximation to Euclidean distance (see below). There is a sensible default.
Optional. Numeric vector of values for the argument $r$ at which $I(r)$ should be evaluated. There is a sensible default. First-time users are strongly advised not to specify this argument. See below for important conditions on r
An alternative to the argument r. Not normally invoked by the user. See Details section.

The $I$ function summarises the dependence between types in a multitype point process (Van Lieshout and Baddeley, 1999) It is based on the concept of the $J$ function for an unmarked point process (Van Lieshout and Baddeley, 1996). See Jest for information about the $J$ function. The $I$ function is defined as $$I(r) = \sum_{i=1}^m p_i J_{ii}(r) - J_{\bullet\bullet}(r)$$ where $J_{\bullet\bullet}$ is the $J$ function for the entire point process ignoring the marks, while $J_{ii}$ is the $J$ function for the process consisting of points of type $i$ only, and $p_i$ is the proportion of points which are of type $i$.

The $I$ function is designed to measure dependence between points of different types, even if the points are not Poisson. Let $X$ be a stationary multitype point process, and write $X_i$ for the process of points of type $i$. If the processes $X_i$ are independent of each other, then the $I$-function is identically equal to $0$. Deviations $I(r) < 1$ or $I(r) > 1$ typically indicate negative and positive association, respectively, between types. See Van Lieshout and Baddeley (1999) for further information.

An estimate of $I$ derived from a multitype spatial point pattern dataset can be used in exploratory data analysis and formal inference about the pattern. The estimate of $I(r)$ is compared against the constant function $0$. Deviations $I(r) < 1$ or $I(r) > 1$ may suggest negative and positive association, respectively.

This algorithm estimates the $I$-function from the multitype point pattern X. It assumes that X can be treated as a realisation of a stationary (spatially homogeneous) random spatial marked point process in the plane, observed through a bounded window.

The argument X is interpreted as a point pattern object (of class "ppp", see ppp.object) and can be supplied in any of the formats recognised by as.ppp(). It must be a multitype point pattern (it must have a marks vector which is a factor).

The function Jest is called to compute estimates of the $J$ functions in the formula above. In fact three different estimates are computed using different edge corrections. See Jest for information.


  • An object of class "fv", see fv.object, which can be plotted directly using plot.fv.

    Essentially a data frame containing

  • rthe vector of values of the argument $r$ at which the function $I$ has been estimated
  • rsthe ``reduced sample'' or ``border correction'' estimator of $I(r)$ computed from the border-corrected estimates of $J$ functions
  • kmthe spatial Kaplan-Meier estimator of $I(r)$ computed from the Kaplan-Meier estimates of $J$ functions
  • unthe uncorrected estimate of $I(r)$ computed from the uncorrected estimates of $J$
  • theothe theoretical value of $I(r)$ for a stationary Poisson process: identically equal to $0$


Sizeable amounts of memory may be needed during the calculation.


Van Lieshout, M.N.M. and Baddeley, A.J. (1996) A nonparametric measure of spatial interaction in point patterns. Statistica Neerlandica 50, 344--361.

Van Lieshout, M.N.M. and Baddeley, A.J. (1999) Indices of dependence between types in multivariate point patterns. Scandinavian Journal of Statistics 26, 511--532.

See Also


  • Iest
   Ic <- Iest(amacrine)
   plot(Ic, main="Amacrine Cells data")
   # values are below I= 0, suggesting negative association
   # between 'on' and 'off' cells.
Documentation reproduced from package spatstat, version 1.13-1, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.