Create a weights list using a kernel function.
Usage
st_kernel_weights(
nb,
geometry,
kernel = "uniform",
threshold = critical_threshold(geometry),
adaptive = FALSE,
self_kernel = FALSE
)
Arguments
- nb
an object of class
nb
e.g. created byst_contiguity()
orst_knn()
.- geometry
the geometry an sf object.
- kernel
One of "uniform", "gaussian", "triangular", "epanechnikov", or "quartic". See kernels for more.
- threshold
a scaling threshold to be used in calculating
- adaptive
default
FALSE
. IfTRUE
uses the maximum neighbor distance for each region as the threshold. Suppresses thethreshold
argument.- self_kernel
default
FALSE
. IfTRUE
applies the kernel function to the observed region.
Details
By default st_kernel_weight()
utilizes a critical threshold of the maximum neighbor distance using critical_threshold()
. If desired, the critical threshold can be specified manually. The threshold
will be passed to the underlying kernel.
See also
Other weights:
st_inverse_distance()
,
st_nb_dists()
,
st_weights()
Examples
geometry <- sf::st_geometry(guerry)
nb <- st_contiguity(geometry)
nb <- include_self(nb)
res <- st_kernel_weights(nb, geometry)
#> ! Polygon provided. Using point on surface.
head(res, 3)
#> [[1]]
#> [1] 1.0 0.5 0.5 0.5 0.5
#>
#> [[2]]
#> [1] 1.0 0.5 0.5 0.5 0.5 0.5 0.5
#>
#> [[3]]
#> [1] 1.0 0.5 0.5 0.5 0.5 0.5 0.5
#>