Create a k-nearest neighbors based spatial weights

knn_weights(
  sf_obj,
  k,
  power = 1,
  is_inverse = FALSE,
  is_arc = FALSE,
  is_mile = TRUE
)

Arguments

sf_obj

An sf (simple feature) object

k

a positive integer number for k-nearest neighbors

power

(optional) The power (or exponent) of a number says how many times to use the number in a multiplication.

is_inverse

(optional) FALSE (default) or TRUE, apply inverse on distance value

is_arc

(optional) FALSE (default) or TRUE, compute arc distance between two observations

is_mile

(optional) TRUE (default) or FALSE, convert distance unit from mile to km.

Value

An instance of Weight-class

Examples

library(sf)
guerry_path <- system.file("extdata", "Guerry.shp", package = "rgeoda")
guerry <- st_read(guerry_path)
#> Reading layer `Guerry' from data source 
#>   `/Users/runner/work/_temp/Library/rgeoda/extdata/Guerry.shp' 
#>   using driver `ESRI Shapefile'
#> Simple feature collection with 85 features and 29 fields
#> Geometry type: MULTIPOLYGON
#> Dimension:     XY
#> Bounding box:  xmin: 47680 ymin: 1703258 xmax: 1031401 ymax: 2677441
#> Projected CRS: NTF (Paris) / Lambert zone II
knn6_w <- knn_weights(guerry, 6)
summary(knn6_w)
#>                      name              value
#> 1 number of observations:                 85
#> 2          is symmetric:               FALSE
#> 3               sparsity: 0.0705882352941176
#> 4        # min neighbors:                  6
#> 5        # max neighbors:                  6
#> 6       # mean neighbors:                  6
#> 7     # median neighbors:                  6
#> 8           has isolates:              FALSE