在 R 中使用 iGraph 获取路径的权重

颂歌

我有一个从数据框创建的图表,以from, to, cost的形式我还有一个有效的路径(作为一系列顶点,vpath格式为igraph)(我的图是有向的)。

给定我的图形和路径,是否有任何函数可以为我提供该路径的成本?

我不是要求最短路径,因为我从all_shortest_paths. 但是,我只得到节点的连续性,而不是路径的权重,这也是我需要的。

编辑:数据

这是我变成图表的数据框:http : //www.sharecsv.com/s/47209742f0052a37e17db37ea3af63ac/arcsWithCost.csv

而我的道路是 15 4 50 212 183 112 114 37 228 119

G5W

您将路径作为顶点序列。如果您有边的序列,这将很容易 - 只需将每条边的权重相加即可。所以你需要做的是将顶点序列转换为边序列。那是什么get.edge.ids呢,虽然你需要将数据放到正确的格式。

由于您没有提供任何数据,我将随机举例说明。

library(igraph)
set.seed(1234)
g = erdos.renyi.game(10,0.15, directed=TRUE)
E(g)$weight = sample(5, length(E(g)), replace=TRUE)
plot(g)

图形

好的,现在假设我们要对从节点 1-4-10-3 开始的路径上的权重求和。我假设你有一个列表c(1,4,10,3)

VP = c(1,4,10,3)
EP = rep(VP, each=2)[-1]
EP = EP[-length(EP)]
E(g)$weight[get.edge.ids(g, EP)]
[1] 1 5 4
sum(E(g)$weight[get.edge.ids(g, EP)])
[1] 10

添加:

在添加到问题的数据中,有 110 个节点,但它们的编号最多为 281。这些数字是节点的标签,而不是节点 ID。您可以使用标签来访问节点,但必须将它们转换为字符串才能将它们视为标签。此代码适用于您的示例。

VP = c(15, 4, 50, 212, 183, 112, 114, 37, 228, 119)
EP = rep(VP, each=2)[-1]
EP = EP[-length(EP)]
E(g)$cost[get.edge.ids(g, as.character(EP))]
sum(E(g)$cost[get.edge.ids(g, as.character(EP))])

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中使用igraph获取连接的组件

来自分类Dev

R igraph:在igraph中找到最短路径,为其增加权重并寻找替代方法

来自分类Dev

在R中使用igraph导出图形

来自分类Dev

在R中使用igraph的图相交

来自分类Dev

在R中使用igraph创建子图

来自分类Dev

在R中使用igraph的图相交

来自分类Dev

如何在R中使用igraph根据其长度选择图的某些路径

来自分类Dev

使用igraph / R查找所有最短路径

来自分类Dev

在R igraph2中使用组创建变量

来自分类Dev

如何在R中使用igraph计算每个循环的总数?

来自分类Dev

如何在python中使用igraph从边缘获取顶点?

来自分类Dev

如何从 igraph R 连接最短路径

来自分类Dev

如何从R中的igraph对象获取树?

来自分类Dev

使用igraph for R打印节点的网络属性

来自分类Dev

R中的igraph无法使用数字标签

来自分类Dev

使用iGraph的哈密顿路径

来自分类Dev

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

来自分类Dev

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

来自分类Dev

R:如何从根节点遍历到iGraph数据对象中的每个叶节点并获取路径?

来自分类Dev

如何在R中使用样本权重

来自分类Dev

在igraph r-package中使用地理坐标作为顶点坐标

来自分类Dev

在具有复杂数据的R中使用igraph创建图

来自分类Dev

在 R 中使用 igraph 和 networkD3 进行树状图可视化

来自分类Dev

连接iGraph R中多个节点的最短路径

来自分类Dev

如何使用R中的igraph根据某些边缘属性找到两个节点之间的最短路径?

来自分类Dev

从igraph :: shortest_path输出获取顶点ID-R

来自分类Dev

R - 使用顶点属性 igraph 创建新的图形对象

来自分类Dev

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

来自分类Dev

R和Igraph边缘

Related 相关文章

  1. 1

    在R中使用igraph获取连接的组件

  2. 2

    R igraph:在igraph中找到最短路径,为其增加权重并寻找替代方法

  3. 3

    在R中使用igraph导出图形

  4. 4

    在R中使用igraph的图相交

  5. 5

    在R中使用igraph创建子图

  6. 6

    在R中使用igraph的图相交

  7. 7

    如何在R中使用igraph根据其长度选择图的某些路径

  8. 8

    使用igraph / R查找所有最短路径

  9. 9

    在R igraph2中使用组创建变量

  10. 10

    如何在R中使用igraph计算每个循环的总数?

  11. 11

    如何在python中使用igraph从边缘获取顶点?

  12. 12

    如何从 igraph R 连接最短路径

  13. 13

    如何从R中的igraph对象获取树?

  14. 14

    使用igraph for R打印节点的网络属性

  15. 15

    R中的igraph无法使用数字标签

  16. 16

    使用iGraph的哈密顿路径

  17. 17

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

  18. 18

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

  19. 19

    R:如何从根节点遍历到iGraph数据对象中的每个叶节点并获取路径?

  20. 20

    如何在R中使用样本权重

  21. 21

    在igraph r-package中使用地理坐标作为顶点坐标

  22. 22

    在具有复杂数据的R中使用igraph创建图

  23. 23

    在 R 中使用 igraph 和 networkD3 进行树状图可视化

  24. 24

    连接iGraph R中多个节点的最短路径

  25. 25

    如何使用R中的igraph根据某些边缘属性找到两个节点之间的最短路径?

  26. 26

    从igraph :: shortest_path输出获取顶点ID-R

  27. 27

    R - 使用顶点属性 igraph 创建新的图形对象

  28. 28

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

  29. 29

    R和Igraph边缘

热门标签

归档