首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问get.shortest.paths的“epath”输出以获取边缘名称?

如何访问get.shortest.paths的“epath”输出以获取边缘名称?
EN

Stack Overflow用户
提问于 2016-10-04 17:29:10
回答 1查看 354关注 0票数 0

我想访问get.shortest.paths的“epath”输出,获取边的名称,而不是ID的名称。目前,我有边ID,但是我需要边的名称。例如:

代码语言:javascript
复制
# create graph
solid = graph_from_literal(A-D,A-C,D-F,D-C,C-B,B-E)

# get edges of shortest paths
solid.epaths = get.shortest.paths(solid, from = 1, to = V(solid),output = 'epath')

# get verticies of shortest paths
solid.vpaths = get.shortest.paths(solid, from = 1, to = V(solid),output = 'vpath')

我可以查到眩晕的名字:

代码语言:javascript
复制
names(unlist(solid.vpaths$vpath[4]))

但是我不能访问边缘的名称,它只是变成null:

代码语言:javascript
复制
names(unlist(solid.epaths$epath[4]))

如果你有另一种方法,我愿意接受建议。最后,我基本上需要一个字符向量的边缘名称。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-05 09:29:19

给他们取名字:

代码语言:javascript
复制
library(igraph)
solid = graph_from_literal(A-D,A-C,D-F,D-C,C-B,B-E)
E(solid)$name <- letters[seq_len(ecount(solid))]
plot(solid, edge.label = E(solid)$name)

代码语言:javascript
复制
solid.epaths = get.shortest.paths(solid, from = 1, to = 4, output = 'epath')
solid.vpaths = get.shortest.paths(solid, from = 1, to = 4, output = 'vpath')

names(unlist(solid.vpaths$vpath))
# [1] "A" "D" "F"
names(unlist(solid.epaths$epath))
# [1] "a" "d"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39858377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档