使用 igraph 查找距离矩阵

问瓦尔卡诺娃

我有一个连接如下的网络:

library(igraph)
network <- graph_from_literal(1--2,2--3,3--4,4--5,3--6,6--7,3--8,8--9)

并有每个段之间的距离

> data=data.frame(Origin=c(1,2,3,4,3,6,3,8), Destination=c(2,3,4,5,6,7,8,9), km=c(0.3,0.5,0.2,0.1,1,2,0.6,0.4))
> data
  Origin Destination  km
      1           2 0.3
      2           3 0.5
      3           4 0.2
      4           5 0.1
      3           6 1.0
      6           7 2.0
      3           8 0.6
      8           9 0.4

我想找到所有点之间的距离矩阵,我尝试使用

distMatrix <- shortest.paths(data, v=Origin(data), to=Destination(data))

但不能让它工作。

谢谢!

Ben

distances()函数将为您提供一个距离矩阵。通过设置边缘权重,距离矩阵将在计算中包含这些权重。在下面的代码中,我从您的数据集创建了图形data,以便正确排序边:

library("igraph")
data = data.frame(Origin=c(1,2,3,4,3,6,3,8), Destination=c(2,3,4,5,6,7,8,9), 
  km=c(0.3,0.5,0.2,0.1,1,2,0.6,0.4))

g = graph_from_edgelist(cbind(data$Origin, data$Destination))
E(g)
#> + 8/8 edges from 7ad6d28:
#> [1] 1->2 2->3 3->4 4->5 3->6 6->7 3->8 8->9
E(g)$weight = data$km

distances(g)
#>       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
#>  [1,]  0.0  0.3  0.8  1.0  1.1  1.8  3.8  1.4  1.8
#>  [2,]  0.3  0.0  0.5  0.7  0.8  1.5  3.5  1.1  1.5
#>  [3,]  0.8  0.5  0.0  0.2  0.3  1.0  3.0  0.6  1.0
#>  [4,]  1.0  0.7  0.2  0.0  0.1  1.2  3.2  0.8  1.2
#>  [5,]  1.1  0.8  0.3  0.1  0.0  1.3  3.3  0.9  1.3
#>  [6,]  1.8  1.5  1.0  1.2  1.3  0.0  2.0  1.6  2.0
#>  [7,]  3.8  3.5  3.0  3.2  3.3  2.0  0.0  3.6  4.0
#>  [8,]  1.4  1.1  0.6  0.8  0.9  1.6  3.6  0.0  0.4
#>  [9,]  1.8  1.5  1.0  1.2  1.3  2.0  4.0  0.4  0.0

reprex 包(v2.0.1)于 2021 年 9 月 6 日创建

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在C中使用igraph创建关联矩阵

使用igraph最短距离时缺少距离

使用 igraph 在 R 中创建循环图或邻接矩阵?

使用leidenalg和igraph查找群集,然后输出gml文件

使用 igraph subgraph_isomorphisms 查找给定的网络模体

寇氏使用igraph查找斯坦纳树的算法

Python 使用 numpy.linalg.norm() 查找距离矩阵 --> 如何计算?

使用距离矩阵和分层聚类查找聚类数量

使用MATLAB查找矩阵中两行的最大/最小距离

使用熊猫的欧几里得距离矩阵

在python中使用igraph创建顶点之间具有特定距离的网络

如何使用iGraph和RStudio在R中使用“ get.adjacency()”保存邻接矩阵?

将矩阵转换为加权边列表时缺少边值(使用 igraph)

如何使用r-igraph包获取图的最长流矩阵?

(R Igraph) 使用从属关系从邻接矩阵创建子图

使用 igraph 读取 CSV 数据

使用iGraph最快的传染算法

使用数据表或igraph按组查找直接邻居

Как сохранить список краев объекта igraph с предопределенным макетом?

使用密码计算距离(谷歌地图距离矩阵 API)

使用定制距离函数从Pandas Dataframe创建距离矩阵

将距离矩阵与地点和距离api结合使用

使用自己的计算熊猫创建距离矩阵

如何使用随机距离矩阵构建图?

使用DTW距离矩阵的聚集聚类

使用动态规划计算矩阵距离

使用阿多尼斯比较距离矩阵

仅使用 for 循环计算行距离矩阵

在igraph中读取矩阵市场图