Description Usage Arguments Value Author(s) See Also Examples
The function identifies neighbours of region points by Euclidean distance between lower (greater than) and upper (less than or equal to) bounds, or with longlat = TRUE, by Great Circle distance in kilometers.
1 |
x |
matrix of point coordinates or a SpatialPoints object |
d1 |
lower distance bound |
d2 |
upper distance bound |
row.names |
character vector of region ids to be added to the neighbours list as attribute |
longlat |
TRUE if point coordinates are longitude-latitude decimal degrees, in which case distances are measured in kilometers; if x is a SpatialPoints object, the value is taken from the object itself, and overrides this argument if not NULL |
bounds |
character vector of length 2, default |
The function returns a list of integer vectors giving the region id numbers
for neighbours satisfying the distance criteria. See card
for details of “nb” objects.
Roger Bivand Roger.Bivand@nhh.no
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | example(columbus)
coords <- coordinates(columbus)
rn <- sapply(slot(columbus, "polygons"), function(x) slot(x, "ID"))
k1 <- knn2nb(knearneigh(coords))
all.linked <- max(unlist(nbdists(k1, coords)))
col.nb.0.all <- dnearneigh(coords, 0, all.linked, row.names=rn)
summary(col.nb.0.all, coords)
plot(columbus, border="grey")
plot(col.nb.0.all, coords, add=TRUE)
title(main=paste("Distance based neighbours 0-", format(all.linked),
" distance units", sep=""))
data(state)
us48.fipsno <- read.geoda(system.file("etc/weights/us48.txt",
package="spdep")[1])
if (as.numeric(paste(version$major, version$minor, sep="")) < 19) {
m50.48 <- match(us48.fipsno$"State.name", state.name)
} else {
m50.48 <- match(us48.fipsno$"State_name", state.name)
}
xy <- as.matrix(as.data.frame(state.center))[m50.48,]
llk1 <- knn2nb(knearneigh(xy, k=1, longlat=FALSE))
all.linked <- max(unlist(nbdists(llk1, xy, longlat=FALSE)))
ll.nb <- dnearneigh(xy, 0, all.linked, longlat=FALSE)
summary(ll.nb, xy, longlat=TRUE, scale=0.5)
gck1 <- knn2nb(knearneigh(xy, k=1, longlat=TRUE))
all.linked <- max(unlist(nbdists(gck1, xy, longlat=TRUE)))
gc.nb <- dnearneigh(xy, 0, all.linked, longlat=TRUE)
summary(gc.nb, xy, longlat=TRUE, scale=0.5)
plot(ll.nb, xy)
plot(diffnb(ll.nb, gc.nb), xy, add=TRUE, col="red", lty=2)
title(main="Differences between Euclidean and Great Circle neighbours")
xy1 <- SpatialPoints((as.data.frame(state.center))[m50.48,],
proj4string=CRS("+proj=longlat +ellps=GRS80"))
gck1a <- knn2nb(knearneigh(xy1, k=1))
all.linked <- max(unlist(nbdists(gck1a, xy1)))
gc.nb <- dnearneigh(xy1, 0, all.linked)
summary(gc.nb, xy1, scale=0.5)
|
Loading required package: sp
Loading required package: Matrix
colmbs> require(maptools)
Loading required package: maptools
Checking rgeos availability: TRUE
colmbs> columbus <- readShapePoly(system.file("etc/shapes/columbus.shp",
colmbs+ package="spdep")[1])
colmbs> col.gal.nb <- read.gal(system.file("etc/weights/columbus.gal",
colmbs+ package="spdep")[1])
Warning message:
use rgdal::readOGR or sf::st_read
Neighbour list object:
Number of regions: 49
Number of nonzero links: 252
Percentage nonzero weights: 10.49563
Average number of links: 5.142857
Link number distribution:
1 2 3 4 5 6 7 8 9 10 11
4 8 6 2 5 8 6 2 6 1 1
4 least connected regions:
5 9 20 46 with 1 link
1 most connected region:
27 with 11 links
Summary of link distances:
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.1276 0.3608 0.4566 0.4331 0.5224 0.6189
The decimal point is 2 digit(s) to the left of the |
12 | 88
14 | 44
16 |
18 | 7788
20 | 0033
22 | 772277
24 | 4488
26 | 8822
28 | 2244
30 | 00334466
32 | 11114444001188
34 | 0033446633
36 | 1133559900335588
38 | 1133668899003355
40 | 44557777222266
42 | 990022333399
44 | 3322777799
46 | 22223344666677001111225588
48 | 00000011222299
50 | 1122888800557799
52 | 22223333446600
54 | 00333377001133556677
56 | 111133446666
58 | 0022337799
60 | 2299111199
Neighbour list object:
Number of regions: 48
Number of nonzero links: 190
Percentage nonzero weights: 8.246528
Average number of links: 3.958333
Link number distribution:
1 2 3 4 5 7 8 9 10
11 9 4 8 4 4 4 3 1
11 least connected regions:
2 4 8 10 24 26 29 32 35 41 45 with 1 link
1 most connected region:
28 with 10 links
Summary of link distances:
Min. 1st Qu. Median Mean 3rd Qu. Max.
93.66 293.14 360.45 354.22 448.26 542.97
The decimal point is 2 digit(s) to the right of the |
0 | 99
1 | 00112233
1 | 666699
2 | 00222222334444444444
2 | 667788999999
3 | 000000001111111122222222222233333333334444
3 | 555566666677777788888899999999
4 | 0000001111223344
4 | 5555555555556666667777888888888899
5 | 00000011111122334444
Neighbour list object:
Number of regions: 48
Number of nonzero links: 220
Percentage nonzero weights: 9.548611
Average number of links: 4.583333
Link number distribution:
1 2 3 4 5 6 7 8 9 10
5 9 6 8 5 2 3 3 5 2
5 least connected regions:
2 4 8 41 45 with 1 link
2 most connected regions:
7 28 with 10 links
Summary of link distances:
Min. 1st Qu. Median Mean 3rd Qu. Max.
93.66 304.16 381.26 371.99 467.80 523.58
The decimal point is 2 digit(s) to the right of the |
0 | 99
1 | 00112233
1 | 666699
2 | 00222222334444444444
2 | 667788999999
3 | 000000001111111122222222222233333333334444
3 | 555566666677777788888899999999
4 | 00000011112233334444
4 | 555555555555666666666677778888888888889999
5 | 00000000000000111111111122222222222222
NOTE: rgdal::checkCRSArgs: no proj_defs.dat in PROJ.4 shared files
Neighbour list object:
Number of regions: 48
Number of nonzero links: 220
Percentage nonzero weights: 9.548611
Average number of links: 4.583333
Link number distribution:
1 2 3 4 5 6 7 8 9 10
5 9 6 8 5 2 3 3 5 2
5 least connected regions:
2 4 8 41 45 with 1 link
2 most connected regions:
7 28 with 10 links
Summary of link distances:
Min. 1st Qu. Median Mean 3rd Qu. Max.
93.66 304.16 381.26 371.99 467.80 523.58
The decimal point is 2 digit(s) to the right of the |
0 | 99
1 | 00112233
1 | 666699
2 | 00222222334444444444
2 | 667788999999
3 | 000000001111111122222222222233333333334444
3 | 555566666677777788888899999999
4 | 00000011112233334444
4 | 555555555555666666666677778888888888889999
5 | 00000000000000111111111122222222222222
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.