Gcross {spatstat.explore} | R Documentation |
Multitype Nearest Neighbour Distance Function (i-to-j)
Description
For a multitype point pattern,
estimate the distribution of the distance
from a point of type i
to the nearest point of type j
.
Usage
Gcross(X, i, j, r=NULL, breaks=NULL, ..., correction=c("rs", "km", "han"))
Arguments
X |
The observed point pattern,
from which an estimate of the cross type distance distribution function
|
i |
The type (mark value)
of the points in |
j |
The type (mark value)
of the points in |
r |
Optional. Numeric vector. The values of the argument |
breaks |
This argument is for internal use only. |
... |
Ignored. |
correction |
Optional. Character string specifying the edge correction(s)
to be used. Options are |
Details
This function Gcross
and its companions
Gdot
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 arguments i
and j
will be interpreted as
levels 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 “cross-type” (type i
to type j
)
nearest neighbour distance distribution function
of a multitype point process
is the cumulative distribution function G_{ij}(r)
of the distance from a typical random point of the process with type i
the nearest point of type j
.
An estimate of G_{ij}(r)
is a useful summary statistic in exploratory data analysis
of a multitype point pattern.
If the process of type i
points
were independent of the process of type j
points,
then G_{ij}(r)
would equal F_j(r)
,
the empty space function of the type j
points.
For a multitype Poisson point process where the type i
points
have intensity \lambda_i
, we have
G_{ij}(r) = 1 - e^{ - \lambda_j \pi r^2}
Deviations between the empirical and theoretical G_{ij}
curves
may suggest dependence between the points of types i
and j
.
This algorithm estimates the distribution function G_{ij}(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_{ij}(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_{ij}(r)
.
This estimate should be used with caution as G_{ij}(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_{ij}
.
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_{ij}
as if it were an unbiased estimator of
G_{ij}
.
Value
An object of class "fv"
(see fv.object
).
Essentially a data frame containing six numeric columns
r |
the values of the argument |
rs |
the “reduced sample” or “border correction”
estimator of |
han |
the Hanisch-style estimator of |
km |
the spatial Kaplan-Meier estimator of |
hazard |
the hazard rate |
raw |
the uncorrected estimate of |
theo |
the theoretical value of |
Warnings
The arguments i
and j
are always interpreted as
levels of the factor X$marks
. They are converted to character
strings if they are not already character strings.
The value i=1
does not
refer to the first level of the factor.
The function G_{ij}
does not necessarily have a density.
The reduced sample estimator of G_{ij}
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_{ij}
is always nondecreasing
but its maximum value may be less than 1
.
Author(s)
Adrian Baddeley Adrian.Baddeley@curtin.edu.au and Rolf Turner rolfturner@posteo.net.
References
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
Examples
# amacrine cells data
G01 <- Gcross(amacrine)
# equivalent to:
G01 <- Gcross(amacrine, "off", "on")
plot(G01)
# empty space function of `on' points
if(interactive()) {
F1 <- Fest(split(amacrine)$on, r = G01$r)
lines(F1$r, F1$km, lty=3)
}
# synthetic example
pp <- runifpoispp(30)
pp <- pp %mark% factor(sample(0:1, npoints(pp), replace=TRUE))
G <- Gcross(pp, "0", "1") # note: "0" not 0