【发布时间】:2014-12-04 21:51:20
【问题描述】:
我正在创建一个邻接矩阵以在 R 中进行空间分析。数据都是美国大陆的县。我从美国人口普查老虎文件中获得了县空间多边形。
我能够创建邻居列表,并且它是对称的。但是当我将其转换为邻接矩阵时,它不是对称的。这是一个问题,因为我的目标是使用 ngspatial::autologistic 运行空间自逻辑模型,但我得到一个错误,我必须提供一个对称的二进制邻接矩阵。
这是我创建邻接矩阵的 R 代码:
us<-readShapeSpatial("County_2010Census_DP1.shp")
#Trim out counties outside of continental US
us2<-us[!substr(us$GEOID10,1,2)%in%c('02','60','66','78','15','72'),]
us2.nb = poly2nb(us2)
is.symmetric.nb(us2.nb) #Comes out true
us2.adj = nb2mat(us2.nb, style="B",zero.policy=F)
isSymmetric(us2.adj) #comes out false
顺便说一句,我可以毫无问题地将splogit 与这个邻接矩阵一起使用。我不是空间分析方面的专家,所以我不能说我知道这些命令中发生了什么。
【问题讨论】:
标签: r gis spatial adjacency-matrix