# Kdot.inhom

##### Inhomogeneous Multitype K Dot Function

For a multitype point pattern, estimate the inhomogeneous version of the dot $K$ function, which counts the expected number of points of any type within a given distance of a point of type $i$, adjusted for spatially varying intensity.

##### Usage

```
Kdot.inhom(X, i, lambdaI=NULL, lambdadot=NULL, ..., r=NULL, breaks=NULL,
correction = c("border", "isotropic", "Ripley", "translate"),
sigma=NULL, varcov=NULL, lambdaIdot=NULL)
```

##### Arguments

- X
- The observed point pattern, from which an estimate of the inhomogeneous cross type $K$ function $K_{i\bullet}(r)$ will be computed. It must be a multitype point pattern (a marked point pattern whose marks are a factor). See under Details.
- i
- The type (mark value)
of the points in
`X`

from which distances are measured. A character string (or something that will be converted to a character string). Defaults to the first level of`marks(X)`

. - lambdaI
- Optional.
Values of the estimated intensity of the sub-process of
points of type
`i`

. Either a pixel image (object of class`"im"`

), a numeric vector containing the intensity values at each of the type`i`

- lambdadot
- Optional.
Values of the estimated intensity of the entire point process,
Either a pixel image (object of class
`"im"`

), a numeric vector containing the intensity values at each of the points in`X`

, or a`functi`

- ...
- Ignored.
- r
- Optional. Numeric vector giving the values of the argument $r$ at which the cross K function $K_{ij}(r)$ should be evaluated. There is a sensible default. First-time users are strongly advised not to specify this argument. Se
- breaks
- This argument is for internal use only.
- correction
- A character vector containing any selection of the
options
`"border"`

,`"bord.modif"`

,`"isotropic"`

,`"Ripley"`

,`"translate"`

,`"translation"`

,`"none"`

or - sigma
- Standard deviation of isotropic Gaussian smoothing kernel,
used in computing leave-one-out kernel estimates of
`lambdaI`

,`lambdadot`

if they are omitted. - varcov
- Variance-covariance matrix of anisotropic Gaussian kernel,
used in computing leave-one-out kernel estimates of
`lambdaI`

,`lambdadot`

if they are omitted. Incompatible with`sigma`

. - lambdaIdot
- Optional. A matrix containing estimates of the
product of the intensities
`lambdaI`

and`lambdadot`

for each pair of points, the first point of type`i`

and the second of any type.

##### Details

This is a generalisation of the function `Kdot`

to include an adjustment for spatially inhomogeneous intensity,
in a manner similar to the function `Kinhom`

.

Briefly, given a multitype point process, consider the points without their types, and suppose this unmarked point process has intensity function $\lambda(u)$ at spatial locations $u$. Suppose we place a mass of $1/\lambda(\zeta)$ at each point $\zeta$ of the process. Then the expected total mass per unit area is 1. The inhomogeneous ``dot-type'' $K$ function $K_{i\bullet}^{\mbox{inhom}}(r)$ equals the expected total mass within a radius $r$ of a point of the process of type $i$, discounting this point itself. If the process of type $i$ points were independent of the points of other types, then $K_{i\bullet}^{\mbox{inhom}}(r)$ would equal $\pi r^2$. Deviations between the empirical $K_{i\bullet}$ curve and the theoretical curve $\pi r^2$ suggest dependence between the points of types $i$ and $j$ for $j\neq i$.

The argument `X`

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

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

.
It must be a marked point pattern, and the mark vector
`X$marks`

must be a factor.

The argument `i`

will be interpreted as a
level of the factor `X$marks`

. (Warning: this means that
an integer value `i=3`

will be interpreted as the number 3,
**not** the 3rd smallest level).
If `i`

is missing, it defaults to the first
level of the marks factor, `i = levels(X$marks)[1]`

.
The argument `lambdaI`

supplies the values
of the intensity of the sub-process of points of type `i`

.
It may be either
[object Object],[object Object],[object Object],[object Object]
If `lambdaI`

is omitted, then it will be estimated using
a `leave-one-out' kernel smoother, as described in Baddeley, `lambdaI`

for a given
point is computed by removing the point from the
point pattern, applying kernel smoothing to the remaining points using
`density.ppp`

, and evaluating the smoothed intensity
at the point in question. The smoothing kernel bandwidth is controlled
by the arguments `sigma`

and `varcov`

, which are passed to
`density.ppp`

along with any extra arguments.

Similarly the argument `lambdadot`

should contain
estimated values of the intensity of the entire point process.
It may be either a pixel image, a numeric vector of length equal
to the number of points in `X`

, a function, or omitted.

For advanced use only, the optional argument `lambdaIdot`

is a matrix containing estimated
values of the products of these two intensities for each pair of
points, the first point of type `i`

and the second of any type.
The argument `r`

is the vector of values for the
distance $r$ at which $K_{i\bullet}(r)$ should be evaluated.
The values of $r$ must be increasing nonnegative numbers
and the maximum $r$ value must exceed the radius of the
largest disc contained in the window.

The argument `correction`

chooses the edge correction
as explained e.g. in `Kest`

.

The pair correlation function can also be applied to the
result of `Kcross.inhom`

; see `pcf`

.
}

`i`

is interpreted as
a level of the factor `X$marks`

. It is converted to a character
string if it is not already a character string.
The value `i=1`

does **not**refer to the first level of the factor. }

`Kdot`

,
`Kinhom`

,
`Kcross.inhom`

,
`Kmulti.inhom`

,
`pcf`

# Estimate intensities by nonparametric smoothing lambdaM <- density.ppp(ma, sigma=0.15, at="points") lambdadot <- density.ppp(lg, sigma=0.15, at="points") K <- Kdot.inhom(lansing, "maple", lambdaI=lambdaM, lambdadot=lambdadot)

# Equivalent K <- Kdot.inhom(lansing, "maple", sigma=0.15)

# synthetic example: type A points have intensity 50,
# type B points have intensity 50 + 100 * x
lamB <- as.im(function(x,y){50 + 100 * x}, owin())
lamdot <- as.im(function(x,y) { 100 + 100 * x}, owin())
X <- superimpose(A=runifpoispp(50), B=rpoispp(lamB))
K <- Kdot.inhom(X, "B", lambdaI=lamB, lambdadot=lamdot)
[object Object],[object Object],[object Object]

##### Value

- An object of class
`"fv"`

(see`fv.object`

).Essentially a data frame containing numeric columns

r the values of the argument $r$ at which the function $K_{i\bullet}(r)$ has been estimated theo the theoretical value of $K_{i\bullet}(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_{i\bullet}(r)$ obtained by the edge corrections named.

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