Given a spatial point pattern with several columns of marks, this function computes the mark correlation function between each pair of columns of marks.

```
markcrosscorr(X, r = NULL,
correction = c("isotropic", "Ripley", "translate"),
method = "density", ..., normalise = TRUE, Xname = NULL)
```

A function array (object of class `"fasp"`

) containing
the mark cross-correlation functions for each possible pair
of columns of marks.

- X
The observed point pattern. An object of class

`"ppp"`

or something acceptable to`as.ppp`

.- r
Optional. Numeric vector. The values of the argument \(r\) at which the mark correlation function \(k_f(r)\) should be evaluated. There is a sensible default.

- correction
A character vector containing any selection of the options

`"isotropic"`

,`"Ripley"`

,`"translate"`

,`"translation"`

,`"none"`

or`"best"`

. It specifies the edge correction(s) to be applied. Alternatively`correction="all"`

selects all options.- method
A character vector indicating the user's choice of density estimation technique to be used. Options are

`"density"`

,`"loess"`

,`"sm"`

and`"smrep"`

.- ...
Arguments passed to the density estimation routine (

`density`

,`loess`

or`sm.density`

) selected by`method`

.- normalise
If

`normalise=FALSE`

, compute only the numerator of the expression for the mark correlation.- Xname
Optional character string name for the dataset

`X`

.

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

Rolf Turner r.turner@auckland.ac.nz

and Ege Rubak rubak@math.aau.dk

First, all columns of marks are converted to numerical values. A factor with \(m\) possible levels is converted to \(m\) columns of dummy (indicator) values.

Next, each pair of columns is considered, and the mark cross-correlation is defined as $$ k_{mm}(r) = \frac{E_{0u}[M_i(0) M_j(u)]}{E[M_i,M_j]} $$ where \(E_{0u}\) denotes the conditional expectation given that there are points of the process at the locations \(0\) and \(u\) separated by a distance \(r\). On the numerator, \(M_i(0)\) and \(M_j(u)\) are the marks attached to locations \(0\) and \(u\) respectively in the \(i\)th and \(j\)th columns of marks respectively. On the denominator, \(M_i\) and \(M_j\) are independent random values drawn from the \(i\)th and \(j\)th columns of marks, respectively, and \(E\) is the usual expectation.

Note that \(k_{mm}(r)\) is not a ``correlation''
in the usual statistical sense. It can take any
nonnegative real value. The value 1 suggests ``lack of correlation'':
if the marks attached to the points of `X`

are independent
and identically distributed, then
\(k_{mm}(r) \equiv 1\).

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.

The cross-correlations are estimated in the same manner as
for `markcorr`

.

`markcorr`

```
# The dataset 'betacells' has two columns of marks:
# 'type' (factor)
# 'area' (numeric)
if(interactive()) plot(betacells)
plot(markcrosscorr(betacells))
```

Run the code above in your browser using DataLab