alltypes
Calculate Summary Statistic for All Types in a Multitype Point Pattern
Given a marked point pattern, this computes the estimates of a selected summary function ($F$,$G$, $J$, $K$ etc) of the pattern, for all possible combinations of marks, and returns these functions in an array.
- Keywords
- spatial, nonparametric
Usage
alltypes(X, fun="K", ..., dataname=NULL,verb=FALSE,envelope=FALSE)
Arguments
- X
- The observed point pattern, for which summary function
estimates are required. An object of class
"ppp"
. - fun
- The summary function. Either an Rfunction,
or a character string indicating the summary function
required. Options for strings are
"F"
,"G"
,"J"
,"K"
,"L"
,"pcf"
, - ...
- Arguments passed to the summary function
(and to the function
envelope
if appropriate) - dataname
- Character string giving an optional (alternative)
name to the point pattern, different from what is given
in the call. This name, if supplied, may be used by
plot.fasp()
in forming the title - verb
- Logical value. If
verb
is true then terse ``progress reports'' (just the values of the mark indices) are printed out when the calculations for that combination of marks are completed. - envelope
- Logical value. If
envelope
is true, then simulation envelopes of the summary function will also be computed. See Details.
Details
This routine is a convenient way to analyse the dependence between
types in a multitype point pattern.
It computes the estimates of a selected summary function of the
pattern, for all possible combinations of marks.
It returns these functions in an array
(an object of class "fasp"
) amenable to plotting
by plot.fasp()
.
The argument fun
specifies the summary function that will
be evaluated for each type of point, or for each pair of types.
It may be either an Rfunction or a character string.
Suppose that the points have possible types $1,2,\ldots,m$
and let $X_i$ denote the pattern of points of type $i$ only.
If fun="F"
then this routine
calculates, for each possible type $i$,
an estimate of the Empty Space Function $F_i(r)$ of
$X_i$. See Fest
for explanation of the empty space function.
The estimate is computed by applying Fest
to $X_i$ with the optional arguments ...
.
If fun
is
"Gcross"
, "Jcross"
, "Kcross"
or "Lcross"
,
the routine calculates, for each pair of types $(i,j)$,
an estimate of the ``i
-toj
'' cross-type function
$G_{ij}(r)$,
$J_{ij}(r)$,
$K_{ij}(r)$ or
$L_{ij}(r)$ respectively describing the
dependence between
$X_i$ and $X_j$.
See Gcross
, Jcross
, Kcross
or Lcross
respectively for explanation of these
functions.
The estimate is computed by applying the relevant function
(Gcross
etc)
to X
using each possible value of the arguments i,j
,
together with the optional arguments ...
.
If fun
is "pcf"
the routine calculates
the cross-type pair correlation function pcfcross
between each pair of types.
If fun
is
"Gdot"
, "Jdot"
, "Kdot"
or "Ldot"
,
the routine calculates, for each type $i$,
an estimate of the ``i
-to-any'' dot-type function
$G_{i\bullet}(r)$,
$J_{i\bullet}(r)$ or
$K_{i\bullet}(r)$ or
$L_{i\bullet}(r)$ respectively describing the
dependence between $X_i$ and $X$.
See Gdot
, Jdot
, Kdot
or Ldot
respectively for explanation of these functions.
The estimate is computed by applying the relevant function
(Gdot
etc)
to X
using each possible value of the argument i
,
together with the optional arguments ...
.
The letters "G"
, "J"
, "K"
and "L"
are interpreted as abbreviations for Gcross
,
Jcross
, Kcross
and Lcross
respectively, assuming the point pattern is
marked. If the point pattern is unmarked, the appropriate
function Fest
, Jest
,
Kest
or Lest
is invoked instead.
If envelope=TRUE
, then as well as computing the value of the
summary function for each combination of types, the algorithm also
computes simulation envelopes of the summary function for each
combination of types. The arguments ...
are passed to the function
envelope
to control the number of
simulations, the random process generating the simulations,
the construction of envelopes, and so on.
Value
- A function array (an object of class
"fasp"
, seefasp.object
). This can be plotted usingplot.fasp
.If the pattern is not marked, the resulting ``array'' has dimensions $1 \times 1$. Otherwise the following is true:
If
fun="F"
, the function array has dimensions $m \times 1$ where $m$ is the number of different marks in the point pattern. The entry at position[i,1]
in this array is the result of applyingFest
to the points of typei
only.If
fun
is"Gdot"
,"Jdot"
,"Kdot"
or"Ldot"
, the function array again has dimensions $m \times 1$. The entry at position[i,1]
in this array is the result ofGdot(X, i)
,Jdot(X, i)
Kdot(X, i)
orLdot(X, i)
respectively.If
fun
is"Gcross"
,"Jcross"
,"Kcross"
or"Lcross"
(or their abbreviations"G"
,"J"
,"K"
or"L"
), the function array has dimensions $m \times m$. The[i,j]
entry of the function array (for $i \neq j$) is the result of applying the functionGcross
,Jcross
,Kcross
orLcross
to the pair of types(i,j)
. The diagonal[i,i]
entry of the function array is the result of applying the univariate functionGest
,Jest
,Kest
orLest
to the points of typei
only.If
envelope=FALSE
, then each function entryfns[[i]]
retains the format of the output of the relevant estimating routineFest
,Gest
,Jest
,Kest
,Lest
,Gcross
,Jcross
,Kcross
,Lcross
,Gdot
,Jdot
,Kdot
orLdot
The default formulae for plotting these functions arecbind(km,theo) ~ r
for F, G, and J functions, andcbind(trans,theo) ~ r
for K and L functions.If
envelope=TRUE
, then each function entryfns[[i]]
has the same format as the output of theenvelope
command.
Note
Sizeable amounts of memory may be needed during the calculation.
See Also
plot.fasp
,
fasp.object
,
Fest
,
Gest
,
Jest
,
Kest
,
Lest
,
Gcross
,
Jcross
,
Kcross
,
Lcross
,
Gdot
,
Jdot
,
Kdot
,
envelope
.
Examples
# bramblecanes (3 marks).
data(bramblecanes)
<testonly>bramblecanes <- bramblecanes[c(seq(1, 744, by=20), seq(745, 823, by=4))]</testonly>
bF <- alltypes(bramblecanes,"F",verb=TRUE)
plot(bF)
plot(alltypes(bramblecanes,"G"))
plot(alltypes(bramblecanes,"Gdot"))
# Swedishpines (unmarked).
data(swedishpines)
<testonly>swedishpines <- swedishpines[1:25]</testonly>
plot(alltypes(swedishpines,"K"))
data(amacrine)
plot(alltypes(amacrine, "pcf"), ylim=c(0,1.3))
# A setting where you might REALLY want to use dataname:
xxx <- alltypes(ppp(Melvin$x,Melvin$y,
window=as.owin(c(5,20,15,50)),marks=clyde),
fun="F",verb=TRUE,dataname="Melvin")
# envelopes
bKE <- alltypes(bramblecanes,"K",envelope=TRUE,nsim=19)
bFE <- alltypes(bramblecanes,"F",envelope=TRUE,nsim=19,global=TRUE)
# extract one entry
as.fv(bKE[1,1])