local_k: Neighbourhood density function

View source: R/localk.R

local_kR Documentation

Neighbourhood density function

Description

Computes the neighbourhood density function, a local version of the K-function or L-function, defined by Getis and Franklin (1987). Note: Equivalent to localK and localL except that they can take advantage of parallel computation K-function or L-function via foreach package.

Usage

local_k(X, ..., correction = "Ripley", verbose = TRUE, rvalue = NULL)

Arguments

X

A point pattern (object of class "ppp").

...

ignored.

correction

tring specifying the edge correction to be applied. Options are "none", "translate", "translation", "Ripley", "isotropic" or "best". Only one correction may be specified.

verbose

Logical flag indicating whether to print progress reports during the calculation.

rvalue

Optional. A single value of the distance argument r at which the function L or K should be computed.

Details

The command localL computes the neighbourhood density function, a local version of the L-function (Besag's transformation of Ripley's K-function) that was proposed by Getis and Franklin (1987). The command localK computes the corresponding local analogue of the K-function.

Given a spatial point pattern X, the neighbourhood density function L[i](r) associated with the ith point in X is computed by

L[i](r) = sqrt( (a/((n-1)* pi)) * sum[j] e[i,j])

where the sum is over all points j != i that lie within a distance r of the ith point, a is the area of the observation window, n is the number of points in X, and e[i,j] is an edge correction term (as described in Kest). The value of L[i](r) can also be interpreted as one of the summands that contributes to the global estimate of the L function.

By default, the function L[i](r) or K[i](r) is computed for a range of r values for each point i. The results are stored as a function value table (object of class "fv") with a column of the table containing the function estimates for each point of the pattern X.

Alternatively, if the argument rvalue is given, and it is a single number, then the function will only be computed for this value of r, and the results will be returned as a numeric vector, with one entry of the vector for each point of the pattern X.

Inhomogeneous counterparts of local_k and local_l are computed by local_k_inhom and local_l_inhom.

Computation can be done in parallel by registering a parallel backend for the foreach package.

Value

If rvalue is given, the result is a numeric vector of length equal to the number of points in the point pattern.

If rvalue is absent, the result is an object of class "fv", see fv.object, which can be plotted directly using plot.fv. Essentially a data frame containing columns

r

the vector of values of the argument r at which the function K has been estimated

theo

the theoretical value K(r) = pi * r^2 or L(r)=r for a stationary Poisson process

together with columns containing the values of the neighbourhood density function for each point in the pattern. Column i corresponds to the ith point. The last two columns contain the r and theo values.

References

Getis, A. and Franklin, J. (1987) Second-order neighbourhood analysis of mapped point patterns. Ecology 68, 473–477.

See Also

Kest Lest localKinhom localLinhom local_k_inhom local_l_inhom

Examples

 X <- spatstat::ponderosa

 # compute all the local L functions
 L <- local_l(X)

 # All local functions can also be executed in parallel. Simply register a
 # parallel backend for the foreach package. For example using the
 # doParallel (this needs to be installed) backend:

 cl <- parallel::makeCluster(2)
 doParallel::registerDoParallel(cl)
 L <- local_l(X)
 foreach::registerDoSEQ()
 parallel::stopCluster(cl)

 # plot all the local L functions against r
 plot(L, main="local L functions for ponderosa", legend=FALSE)

keithschulze/supr documentation built on Nov. 26, 2022, 7:09 a.m.