For a marked point pattern,
estimate the multitype \(K\) function
which counts the expected number of points of subset \(J\)
within a given distance from a typical point in subset I
.
Kmulti(X, I, J, r=NULL, breaks=NULL, correction, ..., rmax=NULL, ratio=FALSE)
An object of class "fv"
(see fv.object
).
Essentially a data frame containing numeric columns
the values of the argument \(r\) at which the function \(K_{IJ}(r)\) has been estimated
the theoretical value of \(K_{IJ}(r)\) for a marked Poisson process, namely \(\pi r^2\)
together with a column or columns named
"border"
, "bord.modif"
,
"iso"
and/or "trans"
,
according to the selected edge corrections. These columns contain
estimates of the function \(K_{IJ}(r)\)
obtained by the edge corrections named.
If ratio=TRUE
then the return value also has two
attributes called "numerator"
and "denominator"
which are "fv"
objects
containing the numerators and denominators of each
estimate of \(K(r)\).
The observed point pattern, from which an estimate of the multitype \(K\) function \(K_{IJ}(r)\) will be computed. It must be a marked point pattern. See under Details.
Subset index specifying the points of X
from which distances are measured. See Details.
Subset index specifying the points in X
to which
distances are measured. See Details.
numeric vector. The values of the argument \(r\)
at which the multitype \(K\) function
\(K_{IJ}(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\).
If necessary, specify rmax
.
This argument is for internal use only.
A character vector containing any selection of the
options "border"
, "bord.modif"
,
"isotropic"
, "Ripley"
, "translate"
,
"translation"
, "periodic"
,
"none"
or "best"
.
It specifies the edge correction(s) to be applied.
Alternatively correction="all"
selects all options.
Ignored.
Optional. Maximum desired value of the argument \(r\).
Logical.
If TRUE
, the numerator and denominator of
each edge-corrected estimate will also be saved,
for use in analysing replicated point patterns.
The function \(K_{IJ}\) is not necessarily differentiable.
The border correction (reduced sample) estimator of \(K_{IJ}\) used here is pointwise approximately unbiased, but need not be a nondecreasing function of \(r\), while the true \(K_{IJ}\) must be nondecreasing.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.
The function Kmulti
generalises Kest
(for unmarked point
patterns) and Kdot
and Kcross
(for
multitype point patterns) to arbitrary marked point patterns.
Suppose \(X_I\), \(X_J\) are subsets, possibly overlapping, of a marked point process. The multitype \(K\) function is defined so that \(\lambda_J K_{IJ}(r)\) equals the expected number of additional random points of \(X_J\) within a distance \(r\) of a typical point of \(X_I\). Here \(\lambda_J\) is the intensity of \(X_J\) i.e. the expected number of points of \(X_J\) per unit area. The function \(K_{IJ}\) is determined by the second order moment properties of \(X\).
The argument X
must be a point pattern (object of class
"ppp"
) or any data that are acceptable to as.ppp
.
The arguments I
and J
specify two subsets of the
point pattern. They may be any type of subset indices, for example,
logical vectors of length equal to npoints(X)
,
or integer vectors with entries in the range 1 to
npoints(X)
, or negative integer vectors.
Alternatively, I
and J
may be functions
that will be applied to the point pattern X
to obtain
index vectors. If I
is a function, then evaluating
I(X)
should yield a valid subset index. This option
is useful when generating simulation envelopes using
envelope
.
The argument r
is the vector of values for the
distance \(r\) at which \(K_{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.
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.
This algorithm 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 Kest
.
The edge corrections implemented here are
the border method or ``reduced sample'' estimator (see Ripley, 1988). This is the least efficient (statistically) and the fastest to compute. It can be computed for a window of arbitrary shape.
Ripley's isotropic correction (see Ripley, 1988; Ohser, 1983). This is currently implemented only for rectangular and polygonal windows.
Translation correction (Ohser, 1983). Implemented for all window geometries.
The pair correlation function pcf
can also be applied to the
result of Kmulti
.
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.
Kcross
,
Kdot
,
Kest
,
pcf
# Longleaf Pine data: marks represent diameter
trees <- longleaf
# \testonly{
trees <- trees[seq(1,npoints(trees), by=50), ]
# }
K <- Kmulti(trees, marks(trees) <= 15, marks(trees) >= 25)
plot(K)
# functions determining subsets
f1 <- function(X) { marks(X) <= 15 }
f2 <- function(X) { marks(X) >= 15 }
K <- Kmulti(trees, f1, f2)
# \testonly{
rm(trees)
# }
Run the code above in your browser using DataLab