# marktable

##### Tabulate Marks in Neighbourhood of Every Point in a Point Pattern

Visit each point in a point pattern, find the neighbouring points, and compile a frequency table of the marks of these neighbour points.

- Keywords
- spatial, programming

##### Usage

`marktable(X, R, N, exclude=TRUE, collapse=FALSE)`

##### Arguments

- X
A marked point pattern. An object of class

`"ppp"`

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

##### Details

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`

.

##### Value

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.

##### See Also

##### Examples

```
# NOT RUN {
head(marktable(amacrine, 0.1))
head(marktable(amacrine, 0.1, exclude=FALSE))
marktable(amacrine, N=1, collapse=TRUE)
# }
```

*Documentation reproduced from package spatstat, version 1.52-1, License: GPL (>= 2)*