spatstat (version 1.52-1)

Jest: Estimate the J-function


Estimates the summary function \(J(r)\) for a point pattern in a window of arbitrary shape.


Jest(X, ..., eps=NULL, r=NULL, breaks=NULL, correction=NULL)



The observed point pattern, from which an estimate of \(J(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.


vector of values for the argument \(r\) at which \(J(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.


This argument is for internal use only.


Optional. Character string specifying the choice of edge correction(s) in Fest and Gest. See Details.


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

Essentially a data frame containing


the vector of values of the argument \(r\) at which the function \(J\) has been estimated


the ``reduced sample'' or ``border correction'' estimator of \(J(r)\) computed from the border-corrected estimates of \(F\) and \(G\)


the spatial Kaplan-Meier estimator of \(J(r)\) computed from the Kaplan-Meier estimates of \(F\) and \(G\)


the Hanisch-style estimator of \(J(r)\) computed from the Hanisch estimate of \(G\) and the Chiu-Stoyan estimate of \(F\)


the uncorrected estimate of \(J(r)\) computed from the uncorrected estimates of \(F\) and \(G\)


the theoretical value of \(J(r)\) for a stationary Poisson process: identically equal to \(1\)

The data frame also has attributes

the output of Fest for this point pattern, containing three estimates of the empty space function \(F(r)\) and an estimate of its hazard function


the output of Gest for this point pattern, containing three estimates of the nearest neighbour distance distribution function \(G(r)\) and an estimate of its hazard function


The \(J\) function (Van Lieshout and Baddeley, 1996) of a stationary point process is defined as $$J(r) = \frac{1-G(r)}{1-F(r)} $$ where \(G(r)\) is the nearest neighbour distance distribution function of the point process (see Gest) and \(F(r)\) is its empty space function (see Fest).

For a completely random (uniform Poisson) point process, the \(J\)-function is identically equal to \(1\). Deviations \(J(r) < 1\) or \(J(r) > 1\) typically indicate spatial clustering or spatial regularity, respectively. The \(J\)-function is one of the few characteristics that can be computed explicitly for a wide range of point processes. See Van Lieshout and Baddeley (1996), Baddeley et al (2000), Thonnes and Van Lieshout (1999) for further information.

An estimate of \(J\) derived from a spatial point pattern dataset can be used in exploratory data analysis and formal inference about the pattern. The estimate of \(J(r)\) is compared against the constant function \(1\). Deviations \(J(r) < 1\) or \(J(r) > 1\) may suggest spatial clustering or spatial regularity, respectively.

This algorithm estimates the \(J\)-function from the point pattern X. It assumes that X can be treated as a realisation of a stationary (spatially homogeneous) random spatial point process in the plane, observed through a bounded window. The window (which is specified in X as Window(X)) may have arbitrary shape.

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

The functions Fest and Gest are called to compute estimates of \(F(r)\) and \(G(r)\) respectively. These estimates are then combined by simply taking the ratio \(J(r) = (1-G(r))/(1-F(r))\).

In fact several different estimates are computed using different edge corrections (Baddeley, 1998).

The Kaplan-Meier estimate (returned as km) is the ratio J = (1-G)/(1-F) of the Kaplan-Meier estimates of \(1-F\) and \(1-G\) computed by Fest and Gest respectively. This is computed if correction=NULL or if correction includes "km".

The Hanisch-style estimate (returned as han) is the ratio J = (1-G)/(1-F) where F is the Chiu-Stoyan estimate of \(F\) and G is the Hanisch estimate of \(G\). This is computed if correction=NULL or if correction includes "cs" or "han".

The reduced-sample or border corrected estimate (returned as rs) is the same ratio J = (1-G)/(1-F) of the border corrected estimates. This is computed if correction=NULL or if correction includes "rs" or "border".

These edge-corrected estimators are slightly biased for \(J\), since they are ratios of approximately unbiased estimators. The logarithm of the Kaplan-Meier estimate is exactly unbiased for \(\log J\).

The uncorrected estimate (returned as un and computed only if correction includes "none") is the ratio J = (1-G)/(1-F) of the uncorrected (``raw'') estimates of the survival functions of \(F\) and \(G\), which are the empirical distribution functions of the empty space distances Fest(X,…)$raw and of the nearest neighbour distances Gest(X,…)$raw. The uncorrected estimates of \(F\) and \(G\) are severely biased. However the uncorrected estimate of \(J\) is approximately unbiased (if the process is close to Poisson); it is insensitive to edge effects, and should be used when edge effects are severe (see Baddeley et al, 2000).

The algorithm for Fest uses two discrete approximations which are controlled by the parameter eps and by the spacing of values of r respectively. See Fest for details. First-time users are strongly advised not to specify these arguments.

Note that the value returned by Jest includes the output of Fest and Gest as attributes (see the last example below). If the user is intending to compute the F,G and J functions for the point pattern, it is only necessary to call Jest.


Baddeley, A.J. Spatial sampling and censoring. In O.E. Barndorff-Nielsen, W.S. Kendall and M.N.M. van Lieshout (eds) Stochastic Geometry: Likelihood and Computation. Chapman and Hall, 1998. Chapter 2, pages 37--78.

Baddeley, A.J. and Gill, R.D. The empty space hazard of a spatial pattern. Research Report 1994/3, Department of Mathematics, University of Western Australia, May 1994.

Baddeley, A.J. and Gill, R.D. Kaplan-Meier estimators of interpoint distance distributions for spatial point processes. Annals of Statistics 25 (1997) 263--292.

Baddeley, A., Kerscher, M., Schladitz, K. and Scott, B.T. Estimating the J function without edge correction. Statistica Neerlandica 54 (2000) 315--328.

Borgefors, G. Distance transformations in digital images. Computer Vision, Graphics and Image Processing 34 (1986) 344--371.

Cressie, N.A.C. Statistics for spatial data. John Wiley and Sons, 1991.

Diggle, P.J. Statistical analysis of spatial point patterns. Academic Press, 1983.

Ripley, B.D. Statistical inference for spatial processes. Cambridge University Press, 1988.

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

Thonnes, E. and Van Lieshout, M.N.M, A comparative study on the power of Van Lieshout and Baddeley's J-function. Biometrical Journal 41 (1999) 721--734.

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

See Also

Jinhom, Fest, Gest, Kest,, reduced.sample, kaplan.meier


Run this code
   J <- Jest(cells, 0.01)
   plot(J, main="cells data")
   # values are far above J = 1, indicating regular pattern

   J <- Jest(redwood, 0.01, legendpos="center")
   plot(J, main="redwood data")
   # values are below J = 1, indicating clustered pattern
# }

Run the code above in your browser using DataLab