Visit each point in a multitype point pattern, find the neighbouring points, and compile a frequency table of the marks of these neighbour points.
marktable(X, R, N, exclude=TRUE, collapse=FALSE)A contingency table (object of class "table").
  If collapse=FALSE, the table has one row for
  each point in X, and one column for each possible mark value.
  If collapse=TRUE, the table has one row and one column
  for each possible mark value.
A multitype point pattern. 
    An object of class "ppp", "lpp",
    "pp3" or "ppx", with marks which are a factor.
Neighbourhood radius. Incompatible with N.
Number of neighbours of each point. Incompatible with R.
Logical. If exclude=TRUE, the neighbours of a point
    do not include the point itself. If exclude=FALSE,
    a point belongs to its own neighbourhood.
Logical. If collapse=FALSE (the default) the results for
    each point are returned as separate rows of a table.
    If collapse=TRUE, the results are aggregated according to the
    type of point.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au and Rolf Turner r.turner@auckland.ac.nz
This algorithm visits each point in the point pattern X,
  inspects all the neighbouring points within a radius R of the current
  point (or the N nearest neighbours of the current point),
  and compiles a frequency table of the marks attached to the
  neighbours.
The dataset X must be a multitype point pattern, that is,
  marks(X) must be a factor.
If collapse=FALSE (the default), 
  the result is a two-dimensional contingency table with one row for
  each point in the pattern, and one column for each possible mark
  value. The [i,j] entry in the table gives the number of
  neighbours of point i that have mark j.
If collapse=TRUE, this contingency table is aggregated
  according to the type of point, so that the result is a contingency
  table with one row and one column for each possible mark value.
  The  [i,j] entry in the table gives the number of
  neighbours of a point with mark i that have mark j.
To perform more complicated calculations on the neighbours of every
  point, use markstat or applynbd.
markstat,
  applynbd,
  Kcross,
  ppp.object,
  table
  head(marktable(amacrine, 0.1))
  head(marktable(amacrine, 0.1, exclude=FALSE))
  marktable(amacrine, N=1, collapse=TRUE)
Run the code above in your browser using DataLab