# Kmulti

##### Marked K-Function

For a marked point pattern,
estimate the multitype $K$ function
which counts the expected number of points of subset $J$
within a given distance from a typical point in subset `I`

.

- Keywords
- spatial

##### Usage

```
Kmulti(X, I, J, correction=c("border", "isotropic", "Ripley", "translate"))
Kmulti(X, I, J, r, correction=c("border", "isotropic", "Ripley", "translate"))
Kmulti(X, I, J, breaks, correction=c("border", "isotropic", "Ripley", "translate"))
```

##### Arguments

- X
- The observed point pattern, from which an estimate of the multitype $K$ function $K_{IJ}(r)$ will be computed. It must be a marked point pattern. See under Details.
- I
- Subset of points of
`X`

from which distances are measured. - J
- Subset of points in
`X`

to which distances are measured. - r
- numeric vector. The values of the argument $r$ at which the multitype $K$ function $K_{IJ}(r)$ should be evaluated. There is a sensible default. First-time users are strongly advised not to specify this argument. See below for importan
- breaks
- An alternative to the argument
`r`

. Not normally invoked by the user. See the**Details**section. - correction
- A character vector containing any selection of the
options
`"border"`

,`"bord.modif"`

,`"isotropic"`

,`"Ripley"`

or`"translate"`

. It specifies the edge correction(s) to be applied.

##### Details

The function `Kmulti`

generalises `Kest`

(for unmarked point
patterns) and `Kdot`

and `Kcross`

(for
multitype point patterns) to arbitrary marked point patterns.

Suppose $X_I$, $X_J$ are subsets, possibly overlapping, of a marked point process. The multitype $K$ function is defined so that $\lambda_J K_{IJ}(r)$ equals the expected number of additional random points of $X_J$ within a distance $r$ of a typical point of $X_I$. Here $\lambda_J$ is the intensity of $X_J$ i.e. the expected number of points of $X_J$ per unit area. The function $K_{IJ}$ is determined by the second order moment properties of $X$.

The argument `X`

must be a point pattern (object of class
`"ppp"`

) or any data that are acceptable to `as.ppp`

.

The arguments `I`

and `J`

specify two subsets of the
point pattern. They may be logical vectors of length equal to
`X$n`

, or integer vectors with entries in the range 1 to
`X$n`

, etc.

The argument `r`

is the vector of values for the
distance $r$ at which $K_{IJ}(r)$ should be evaluated.
It is also used to determine the breakpoints
(in the sense of `hist`

)
for the computation of histograms of distances.

First-time users would be strongly advised not to specify `r`

.
However, if it is specified, `r`

must satisfy `r[1] = 0`

,
and `max(r)`

must be larger than the radius of the largest disc
contained in the window.

This algorithm assumes that `X`

can be treated
as a realisation of a stationary (spatially homogeneous)
random spatial point process in the plane, observed through
a bounded window.
The window (which is specified in `X`

as `X$window`

)
may have arbitrary shape.

Biases due to edge effects are
treated in the same manner as in `Kest`

.
The edge corrections implemented here are
[object Object],[object Object],[object Object]

The pair correlation function `pcf`

can also be applied to the
result of `Kmulti`

.

##### Value

- A data frame containing numeric columns
r the values of the argument $r$ at which the function $K_{IJ}(r)$ has been estimated theo the theoretical value of $K_{IJ}(r)$ for a marked Poisson process, namely $\pi r^2$ - together with a column or columns named
`"border"`

,`"bord.modif"`

,`"iso"`

and/or`"trans"`

, according to the selected edge corrections. These columns contain estimates of the function $K_{IJ}(r)$ obtained by the edge corrections named.

##### synopsis

Kmulti(X, I, J, r=NULL, breaks=NULL, correction, ...)

##### Warnings

The function $K_{IJ}$ is not necessarily differentiable.

The border correction (reduced sample) estimator of $K_{IJ}$ used here is pointwise approximately unbiased, but need not be a nondecreasing function of $r$, while the true $K_{IJ}$ must be nondecreasing.

##### References

Cressie, N.A.C. *Statistics for spatial data*.
John Wiley and Sons, 1991.

Diggle, P.J. *Statistical analysis of spatial point patterns*.
Academic Press, 1983.

Diggle, P. J. (1986).
Displaced amacrine cells in the retina of a
rabbit : analysis of a bivariate spatial point pattern.
*J. Neurosci. Meth.* **18**, 115--125.
Harkness, R.D and Isham, V. (1983)
A bivariate spatial point pattern of ants' nests.
*Applied Statistics* **32**, 293--303
Lotwick, H. W. and Silverman, B. W. (1982).
Methods for analysing spatial processes of several types of points.
*J. Royal Statist. Soc. Ser. B* **44**, 406--413.

Ripley, B.D. *Statistical inference for spatial processes*.
Cambridge University Press, 1988.

Stoyan, D, Kendall, W.S. and Mecke, J.
*Stochastic geometry and its applications*.
2nd edition. Springer Verlag, 1995.

Van Lieshout, M.N.M. and Baddeley, A.J. (1999)
Indices of dependence between types in multivariate point patterns.
*Scandinavian Journal of Statistics* **26**, 511--532.

##### See Also

##### Examples

```
library(spatstat)
data(longleaf)
# Longleaf Pine data: marks represent diameter
K <- Kmulti(longleaf, longleaf$marks <= 15, longleaf$marks >= 25)
<testonly>sub <- longleaf[seq(1,longleaf$n, by=50), ]
K <- Kmulti(sub, sub$marks <= 15, sub$marks >= 25)</testonly>
plot(K$r, K$trans,
xlab="r", ylab="Kmulti(r)",
type="l", ylim=c(0,1))
# Poisson theoretical curve
lines(K$r, K$theo, lty=2)
```

*Documentation reproduced from package spatstat, version 1.2-1, License: GPL version 2 or newer*