spatstat (version 1.64-1)

Gdot: Multitype Nearest Neighbour Distance Function (i-to-any)


For a multitype point pattern, estimate the distribution of the distance from a point of type \(i\) to the nearest other point of any type.


Gdot(X, i, r=NULL, breaks=NULL, …, correction=c("km", "rs", "han"))



The observed point pattern, from which an estimate of the distance distribution function \(G_{i\bullet}(r)\) will be computed. It must be a multitype point pattern (a marked point pattern whose marks are a factor). See under Details.


The type (mark value) of the points in X from which distances are measured. A character string (or something that will be converted to a character string). Defaults to the first level of marks(X).


Optional. Numeric vector. The values of the argument \(r\) at which the distribution function \(G_{i\bullet}(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 edge correction(s) to be used. Options are "none", "rs", "km", "hanisch" and "best". Alternatively correction="all" selects all options.


An object of class "fv" (see fv.object).

Essentially a data frame containing six numeric columns


the values of the argument \(r\) at which the function \(G_{i\bullet}(r)\) has been estimated


the ``reduced sample'' or ``border correction'' estimator of \(G_{i\bullet}(r)\)


the Hanisch-style estimator of \(G_{i\bullet}(r)\)


the spatial Kaplan-Meier estimator of \(G_{i\bullet}(r)\)


the hazard rate \(\lambda(r)\) of \(G_{i\bullet}(r)\) by the spatial Kaplan-Meier method


the uncorrected estimate of \(G_{i\bullet}(r)\), i.e. the empirical distribution of the distances from each point of type \(i\) to the nearest other point of any type.


the theoretical value of \(G_{i\bullet}(r)\) for a marked Poisson process with the same estimated intensity (see below).


The argument i is interpreted as a level of the factor X$marks. It is converted to a character string if it is not already a character string. The value i=1 does not refer to the first level of the factor.

The function \(G_{i\bullet}\) does not necessarily have a density.

The reduced sample estimator of \(G_{i\bullet}\) is pointwise approximately unbiased, but need not be a valid distribution function; it may not be a nondecreasing function of \(r\). Its range is always within \([0,1]\).

The spatial Kaplan-Meier estimator of \(G_{i\bullet}\) is always nondecreasing but its maximum value may be less than \(1\).


This function Gdot and its companions Gcross and Gmulti are generalisations of the function Gest to multitype point patterns.

A multitype point pattern is a spatial pattern of points classified into a finite number of possible ``colours'' or ``types''. In the spatstat package, a multitype pattern is represented as a single point pattern object in which the points carry marks, and the mark value attached to each point determines the type of that point.

The argument X must be a point pattern (object of class "ppp") or any data that are acceptable to as.ppp. It must be a marked point pattern, and the mark vector X$marks must be a factor. The argument will be interpreted as a level of the factor X$marks. (Warning: this means that an integer value i=3 will be interpreted as the number 3, not the 3rd smallest level.)

The ``dot-type'' (type \(i\) to any type) nearest neighbour distance distribution function of a multitype point process is the cumulative distribution function \(G_{i\bullet}(r)\) of the distance from a typical random point of the process with type \(i\) the nearest other point of the process, regardless of type.

An estimate of \(G_{i\bullet}(r)\) is a useful summary statistic in exploratory data analysis of a multitype point pattern. If the type \(i\) points were independent of all other points, then \(G_{i\bullet}(r)\) would equal \(G_{ii}(r)\), the nearest neighbour distance distribution function of the type \(i\) points alone. For a multitype Poisson point process with total intensity \(\lambda\), we have $$G_{i\bullet}(r) = 1 - e^{ - \lambda \pi r^2} $$ Deviations between the empirical and theoretical \(G_{i\bullet}\) curves may suggest dependence of the type \(i\) points on the other points.

This algorithm estimates the distribution function \(G_{i\bullet}(r)\) 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. Biases due to edge effects are treated in the same manner as in Gest.

The argument r is the vector of values for the distance \(r\) at which \(G_{i\bullet}(r)\) should be evaluated. It is also used to determine the breakpoints (in the sense of hist) for the computation of histograms of distances. The reduced-sample and Kaplan-Meier estimators are computed from histogram counts. In the case of the Kaplan-Meier estimator this introduces a discretisation error which is controlled by the fineness of the breakpoints.

First-time users would be strongly advised not to specify r. However, if it is specified, r must satisfy r[1] = 0, and max(r) must be larger than the radius of the largest disc contained in the window. Furthermore, the successive entries of r must be finely spaced.

The algorithm also returns an estimate of the hazard rate function, \(\lambda(r)\), of \(G_{i\bullet}(r)\). This estimate should be used with caution as \(G_{i\bullet}(r)\) is not necessarily differentiable.

The naive empirical distribution of distances from each point of the pattern X to the nearest other point of the pattern, is a biased estimate of \(G_{i\bullet}\). However this is also returned by the algorithm, as it is sometimes useful in other contexts. Care should be taken not to use the uncorrected empirical \(G_{i\bullet}\) as if it were an unbiased estimator of \(G_{i\bullet}\).


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.

Diggle, P. J. (1986). Displaced amacrine cells in the retina of a rabbit : analysis of a bivariate spatial point pattern. J. Neurosci. Meth. 18, 115--125.

Harkness, R.D and Isham, V. (1983) A bivariate spatial point pattern of ants' nests. Applied Statistics 32, 293--303

Lotwick, H. W. and Silverman, B. W. (1982). Methods for analysing spatial processes of several types of points. J. Royal Statist. Soc. Ser. B 44, 406--413.

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.

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

Gcross, Gest, Gmulti


Run this code
    # amacrine cells data
    G0. <- Gdot(amacrine, "off") 

    # synthetic example    
    pp <- runifpoispp(30)
    pp <- pp %mark% factor(sample(0:1, npoints(pp), replace=TRUE))
    G <- Gdot(pp, "0")
    G <- Gdot(pp, 0) # equivalent
# }

Run the code above in your browser using DataCamp Workspace