我想使用igraph来查找与树枝相对应的边缘序列。理想情况下,我想在数据框中保留分支。
考虑这个例子:
library(igraph)
g <-erdos.renyi.game(50, 3/50)
mg <- minimum.spanning.tree(g)
diam <- get.diameter(mg)
E(mg)$color = "black"
E(mg, path = diam)$color = "purple"
E(mg, path = diam)$width = 6
plot(mg)
这里的主要路径是diam
,紫色线。 Flick先生已经很好地回答了如何找到diam
但不在diam
内的事件的边缘:
EL <- difference( E(mg)[inc(diam)], E(mg, path = diam) )
E(mg)[EL]$color<-"blue"
E(mg)[EL]$width<-6
plot(mg)
可以将这些分支称为“存根”,即每个分支的第一个边缘。现在的问题是如何找到每个分支的整个边缘序列。
在Flick先生的直觉之后,我感觉使用nei
和inc
的迭代器,但到目前为止看不到方法。
分支机构的例子:
diameter path with branch stubs
在图像中,分支将是(无向)边缘序列
23-19-18
23-14
23-26
1-32-24-7
1-11-42-35-41
1-11-42-35-9-17
1-11-30-38
1-28
1-33-34
1-33-29
1-48-47
1-48-12
27-49-39
27-6-45
27-6-10
31-20
16-4