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)The observed point pattern.
    An object of class "ppp" or something acceptable to
    as.ppp.
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.
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.
A character vector indicating the user's choice of
    density estimation technique to be used. Options are
    "density", 
    "loess",
    "sm" and "smrep".
If normalise=FALSE,
    compute only the numerator of the expression for the
    mark correlation.
Optional character string name for the dataset X.
A function array (object of class "fasp") containing
  the mark cross-correlation functions for each possible pair
  of columns of marks.
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.
# NOT RUN {
  # 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