Learn R Programming

spatstat.explore (version 3.7-0)

Jcross: Multitype J Function (i-to-j)

Description

For a multitype point pattern, estimate the multitype \(J\) function summarising the interpoint dependence between points of type \(i\) and of type \(j\).

Usage

Jcross(X, i, j, eps=NULL, r=NULL, breaks=NULL, ..., rmax=NULL, correction=NULL)

Arguments

Value

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

Essentially a data frame containing six numeric columns

J

the recommended estimator of \(J_{ij}(r)\), currently the Kaplan-Meier estimator.

r

the values of the argument \(r\) at which the function \(J_{ij}(r)\) has been estimated

km

the Kaplan-Meier estimator of \(J_{ij}(r)\)

rs

the ``reduced sample'' or ``border correction'' estimator of \(J_{ij}(r)\)

han

the Hanisch-style estimator of \(J_{ij}(r)\)

un

the ``uncorrected'' estimator of \(J_{ij}(r)\) formed by taking the ratio of uncorrected empirical estimators of \(1 - G_{ij}(r)\) and \(1 - F_{j}(r)\), see Gdot and Fest.

theo

the theoretical value of \(J_{ij}(r)\) for a marked Poisson process, namely 1.

The result also has two attributes "G" and "F"

which are respectively the outputs of Gcross

and Fest for the point pattern.

Details

This function Jcross and its companions Jdot and Jmulti are generalisations of the function Jest 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 i 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 ``type \(i\) to type \(j\)'' multitype \(J\) function of a stationary multitype point process \(X\) was introduced by Van lieshout and Baddeley (1999). It is defined by $$J_{ij}(r) = \frac{1 - G_{ij}(r)}{1 - F_{j}(r)}$$ where \(G_{ij}(r)\) is the distribution function of the distance from a type \(i\) point to the nearest point of type \(j\), and \(F_{j}(r)\) is the distribution function of the distance from a fixed point in space to the nearest point of type \(j\) in the pattern.

An estimate of \(J_{ij}(r)\) is a useful summary statistic in exploratory data analysis of a multitype point pattern. If the subprocess of type \(i\) points is independent of the subprocess of points of type \(j\), then \(J_{ij}(r) \equiv 1\). Hence deviations of the empirical estimate of \(J_{ij}\) from the value 1 may suggest dependence between types.

This algorithm estimates \(J_{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 Jest, using the Kaplan-Meier and border corrections. The main work is done by Gmulti and Fest.

The argument r is the vector of values for the distance \(r\) at which \(J_{ij}(r)\) should be evaluated. The values of \(r\) must be increasing nonnegative numbers and the maximum \(r\) value must not exceed the radius of the largest disc contained in the window.

References

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

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

Jdot, Jest, Jmulti

Examples

Run this code
     # Lansing woods data: 6 types of trees
    woods <- lansing
    # \testonly{
       woods <- woods[seq(1,npoints(woods), by=30)]
    # }
    Jhm <- Jcross(woods, "hickory", "maple")
    # diagnostic plot for independence between hickories and maples
    plot(Jhm)

    # synthetic example with two types "a" and "b"
    pp <- runifpoint(30) %mark% factor(sample(c("a","b"), 30, replace=TRUE))
    J <- Jcross(pp)

Run the code above in your browser using DataLab