- > ##加载软件包
- > library(maptools)
- > library(spdep)
- > ##读取shp文件和权重文件(.gal)
- > columbus <-readShapePoly(system.file("etc/shapes/columbus.shp",package="spdep")[1])
- > col.gal.nb <- read.gal(system.file("etc/weights/columbus.gal",package="spdep")[1])
- > summary(col.gal.nb)
- Neighbour list object:
- Number of regions: 49
- Number of nonzero links: 230
- Percentage nonzero weights: 9.579342
- Average number of links: 4.693878
- Link number distribution:
- 2 3 4 5 6 7 8 9 10
- 7 7 13 4 9 6 1 1 1
- 7 least connected regions:
- 1 6 31 39 42 46 47 with 2 links
- 1 most connected region:
- 20 with 10 links
- > ##生成点对应的横纵坐标
- > coords <- coordinates(columbus)
- > ##nbdists计算的是两点间的欧式距离。
- > dlist <- nbdists(col.gal.nb, coords)
- > plot(col.gal.nb,coords)
- > text(coords,labels=attr(col.gal.nb,"region.id"),pos=4)
- > ##最后给出邻接关系中,两点距离的倒数
- > dlist1 <- lapply(dlist, function(x) 1/x)
值得说明的是:1、nbdists命令实际算的仅是邻居的距离,最后也不是矩阵的形式。
2、需要学会编写简单的函数和循环条件语句




雷达卡





京公网安备 11010802022788号







