# Kinhom

##### Inhomogeneous K-function

Estimates the inhomogeneous $K$ function of a non-stationary point pattern.

- Keywords
- spatial

##### Usage

```
Kinhom(X, lambda)
Kinhom(X, lambda, r)
Kinhom(X, lambda, breaks)
```

##### Arguments

- X
- The observed data point pattern,
from which an estimate of the inhomogeneous $K$ function
will be computed.
An object of class
`"ppp"`

or in a format recognised by`as.ppp()`

- lambda
- Vector of values of the estimated intensity function,
evaluated at the points of the pattern
`X`

- r
- vector of values for the argument $r$ at which the inhomogeneous $K$ function should be evaluated. There is a sensible default.
- breaks
- An alternative to the argument
`r`

. Not normally invoked by the user. See Details.

##### Details

This computes a generalisation of the $K$ function
for inhomogeneous point patterns, proposed by
Baddeley, Moller and Waagepetersen (2000).
The ``ordinary'' $K$ function
(variously known as the reduced second order moment function
and Ripley's $K$ function), is
described under `Kest`

. It is defined only
for stationary point processes.
The inhomogeneous $K$ function
$K_{\rm inhom}(r)$
is a direct generalisation to nonstationary point processes.
Suppose $x$ is a point process with non-constant intensity
$\lambda(u)$ at each location $u$.
Define $K_{\rm inhom}(r)$ to be the expected
value, given that $u$ is a point of $x$,
of the sum of all terms
$1/\lambda(u)\lambda(x_j)$
over all points $x_j$
in the process separated from $u$ by a distance less than $r$.
This reduces to the ordinary $K$ function if
$\lambda()$ is constant.
If $x$ is an inhomogeneous Poisson process with intensity
function $\lambda(u)$, then
$K_{\rm inhom}(r) = \pi r^2$.

This allows us to inspect a point pattern for evidence of interpoint interactions after allowing for spatial inhomogeneity of the pattern. Values $K_{\rm inhom}(r) > \pi r^2$ are suggestive of clustering.

The argument `lambda`

must be a vector of length equal to the
number of points in the pattern `X`

. It will be interpreted as
giving the (estimated) values of $\lambda(x_i)$ for
each point $x_i$ of the pattern $x$.

The pair correlation function can also be applied to the
result of `Kinhom`

; see `pcf`

.

##### Value

- A data frame containing
r the vector of values of the argument $r$ at which the pair correlation function $g(r)$ has been estimated K vector of values of $K_{\rm inhom}(r)$ theo vector of values of $\pi r^2$, the theoretical value of $K_{\rm inhom}(r)$ for an inhomogeneous Poisson process

##### synopsis

Kinhom(X, lambda, r = NULL, breaks = NULL)

##### References

Baddeley, A., Moller, J. and Waagepetersen, R. (2000)
Non- and semiparametric estimation of interaction in
inhomogeneous point patterns.
*Statistica Neerlandica* **54**, 329--350.

##### See Also

##### Examples

```
library(spatstat)
data(lansing)
# inhomogeneous pattern of maples
X <- unmark(lansing[lansing$marks == "maple",])
<testonly>sub <- sample(c(TRUE,FALSE), X$n, replace=TRUE, prob=c(0.1,0.9))
X <- X[sub , ]</testonly>
# fit spatial trend
fit <- mpl(X, ~ polynom(x,y,2), Poisson())
# predict intensity values at points themselves
lambda <- predict(fit, newdata=data.frame(x=X$x, y=X$y), type="trend")
# inhomogeneous K function
Ki <- Kinhom(X, lambda)
conspire(Ki, cbind(K, theo) ~ r, subset="r <= 0.4")
# SIMULATED DATA
# known intensity function
lamfun <- function(x,y) { 100 * x }
# inhomogeneous Poisson process
Y <- rpoispp(lamfun, 100, owin())
# evaluate intensity at points of pattern
lambda <- lamfun(Y$x, Y$y)
# inhomogeneous K function
Ki <- Kinhom(Y, lambda)
conspire(Ki, cbind(K, theo) ~ r, subset="r <= 0.2")
```

*Documentation reproduced from package spatstat, version 1.3-4, License: GPL version 2 or newer*