Neighbours list from knn object
The function converts a knn
object returned by knearneigh
into a neighbours list of class nb
with a list of integer vectors containing neighbour region number ids.
knn2nb(knn, row.names = NULL, sym = FALSE)
knn
: A knn object returned by knearneigh
row.names
: character vector of region ids to be added to the neighbours list as attribute region.id
, default seq(1, nrow(x))
sym
: force the output neighbours list to symmetryThe function returns an object of class nb
with a list of integer vectors containing neighbour region number ids. See card
for details of nb objects.
Roger Bivand Roger.Bivand@nhh.no
knearneigh
, card
columbus <- st_read(system.file("shapes/columbus.gpkg", package="spData")[1], quiet=TRUE) coords <- st_coordinates(st_centroid(columbus)) col.knn <- knearneigh(coords, k=4) plot(st_geometry(columbus), border="grey") plot(knn2nb(col.knn), coords, add=TRUE) title(main="K nearest neighbours, k = 4") # example of reading points with readr::read_csv() yielding a tibble load(system.file("etc/misc/coords.rda", package="spdep")) class(coords) knn2nb(knearneigh(coords, k=4))
Useful links