我从 SpatialPolygonsDataFrame 开始,它包含用于创建加纳各地区 map 的数据(可在 http://www.diva-gis.org/datadown 获取)。我正在尝试创建一个矩阵,其中各区的名称作为行和列名称,并在内部使用 0/1 来指示两个区是否相邻(相邻)。
我在 spdep 中发现了几个看起来很有前途的函数,但我不知道如何将它们用于此目的。我能够使用 poly2nb 创建一个包含数据的“nb”文件,但我不确定如何从这里继续,或者即使我走在正确的轨道上。
我真的很感激任何帮助!谢谢!
最佳答案
我认为您正在寻找gTouches
:
library(rgeos)
library(rgdal)
# using http://data.biogeo.ucdavis.edu/data/diva/adm/GHA_adm.zip
ghana <- readOGR("GHA_adm", "GHA_adm1")
gTouches(ghana, byid=TRUE)
## 0 1 2 3 4 5 6 7 8 9
## 0 FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE TRUE
## 1 TRUE FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE TRUE
## 2 TRUE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE
## 3 TRUE TRUE TRUE FALSE TRUE FALSE FALSE FALSE TRUE FALSE
## 4 FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE
## 5 FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE
## 6 FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE
## 7 FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE
## 8 FALSE TRUE FALSE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
## 9 TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
快速浏览一下,看起来不错:
我不确定您使用的是哪个加纳行政区文件,所以这是一个猜测,并且这些文件是按多边形顺序排列的,因此您需要查看 ghana@data
并映射管理区名称条目。
关于r - 在R中查找相邻多边形(邻居),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26499010/