igraph包中的相邻矩阵将用于R中ngspatial包中的自动物流模型

时间:2018-11-20 17:29:34

标签: r igraph adjacency-list

我对在R中的ngspatial包中运行自动物流模型感兴趣。我的数据对象是多边形。通常,基于多边形质心的坐标建立多边形的邻接矩阵。但是,我已经根据多边形之间的最小距离标准(从每个多边形的边界到边界的距离)来定义我的邻接(0/1)。我已在arcmap中完成此操作,然后使用igraph包生成了邻接矩阵:

  

g <-graph_from_data_frame(我的数据)

     

A <-as_adjacency_matrix(g,attr =“ Dist”)

     

A

     

“ dgCMatrix”类的42 x 42稀疏矩阵   [[取消显示42个列名'1','2','3'...]

我的矩阵只有0和1个值,完全对称(42 x 42)。

但是,当我尝试在ngspatial的自动物流模型中使用它时,出现错误信息:

  

ms_autolog <-自闭症的(占用〜面积,A = A)

     

“您必须提供一个数字和对称的邻接矩阵”。

我以为dgCMatrix与ngspatial不兼容,但是还没有找到如何转换它的方法。我还尝试过将data.csv文件直接制成矩阵,将其读取为矩阵,但是自动物流模型仍然无法读取。

有人知道我该如何解决吗?

非常感谢!

安娜玛丽亚。

1 个答案:

答案 0 :(得分:0)

没有最小的工作示例很难检查,但是您可以尝试以下方法:

A <- as_adjacency_matrix(g, attr = "Dist", sparse = F)

这样,您将获得具有0和1的二进制矩阵,而不是稀疏矩阵。