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.

- X
A multitype point pattern. An object of class

`"ppp"`

,`"lpp"`

,`"pp3"`

or`"ppx"`

, with marks which are a factor.- R
Neighbourhood radius. Incompatible with

`N`

.- N
Number of neighbours of each point. Incompatible with

`R`

.- exclude
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.- collapse
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