Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

densityEqualSplit

Equal-Split Algorithm for Kernel Density on a Network


Description

Computes a kernel density estimate on a linear network using the Okabe-Sugihara equal-split algorithms.

Usage

densityEqualSplit(x, sigma = NULL, ...,
                   at = c("pixels", "points"),
                   leaveoneout=TRUE,
                   weights = NULL,
                   kernel = "epanechnikov", continuous = TRUE,
                   epsilon = 1e-06, verbose = TRUE, debug = FALSE, savehistory = TRUE)

Arguments

x

Point pattern on a linear network (object of class "lpp") to be smoothed.

sigma

Smoothing bandwidth (standard deviation of the kernel) in the same units as the spatial coordinates of x.

...

Arguments passed to as.mask determining the resolution of the result.

at

String (partially matched) specifying whether to compute the intensity values at a fine grid of locations on the network (at="pixels", the default) or only at the points of x (at="points").

leaveoneout

Logical value indicating whether to compute a leave-one-out estimator. Applicable only when at="points".

weights

Optional. Numeric vector of weights associated with the points of x. Weights may be positive, negative or zero.

kernel

Character string specifying the smoothing kernel. See dkernel for possible options.

continuous

Logical value indicating whether to compute the “equal-split continuous” smoother (continuous=TRUE, the default) or the “equal-split discontinuous” smoother (continuous=FALSE).

epsilon

Tolerance value. A tail of the kernel with total mass less than epsilon may be deleted.

verbose

Logical value indicating whether to print progress reports.

debug

Logical value indicating whether to print debugging information.

savehistory

Logical value indicating whether to save the entire history of the algorithm, for the purposes of evaluating performance.

Details

Kernel smoothing is applied to the points of x using a kernel based on path distances in the network. The result is a pixel image on the linear network (class "linim") which can be plotted.

Smoothing is performed using one of the “equal-split” rules described in Okabe and Sugihara (2012).

  • If continuous=TRUE (the default), smoothing is performed using the “equal-split continuous” rule described in Section 9.2.3 of Okabe and Sugihara (2012). The resulting function is continuous on the linear network.

  • If continuous=FALSE, smoothing is performed using the “equal-split discontinuous” rule described in Section 9.2.2 of Okabe and Sugihara (2012). The resulting function is not continuous.

Computation is performed by path-tracing as described in Okabe and Sugihara (2012).

It is advisable to choose a kernel with bounded support such as kernel="epanechnikov". With a Gaussian kernel, computation time can be long, and increases exponentially with sigma.

Faster algorithms are available through density.lpp.

Value

If at="pixels" (the default), a pixel image on the linear network (object of class "linim").

If at="points", a numeric vector with one entry for each point of x.

Infinite bandwidth

If sigma=Inf, the resulting density estimate is constant over all locations, and is equal to the average density of points per unit length. (If the network is not connected, then this rule is applied separately to each connected component of the network).

Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au and Greg McSwiggan.

References

Okabe, A. and Sugihara, K. (2012) Spatial analysis along networks. Wiley.

See Also

Examples

X <- runiflpp(3, simplenet)
  De <- density(X, 0.2, kernel="epanechnikov", verbose=FALSE)
  Ded <- density(X, 0.2, kernel="epanechnikov", continuous=FALSE, verbose=FALSE)

spatstat.linnet

Linear Networks Functionality of the 'spatstat' Family

v2.1-1
GPL (>= 2)
Authors
Adrian Baddeley [aut, cre], Rolf Turner [aut], Ege Rubak [aut], Ottmar Cronie [ctb], Tilman Davies [ctb], Greg McSwiggan [ctb], Suman Rakshit [ctb]
Initial release
2021-03-28

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.