igraph:使用迭代器对边进行子集化

时间:2014-11-16 08:24:23

标签: igraph

假设我有一个igraph对象

g <- erdos.renyi.game(20, 0.6)

我得到了最小生成树

min.span <- minimum.spanning.tree(g)

如何使用迭代器E()或V()来获取作为最小生成树一部分的g的边缘?

2 个答案:

答案 0 :(得分:0)

不一定是最好的解决方案,因为我对R不太熟悉,但这似乎对我有用:

> mst <- minimum.spanning.tree(g)
> eids <- get.edge.ids(g, as.vector(t(get.edgelist(mst))))
> E(g)[eids]

答案 1 :(得分:0)

我只是用边缘属性标记原始图形中的边缘。例如。

g <- erdos.renyi.game(20, 0.6)
E(g)$mark <- seq_len(ecount(g))
min.span <- minimum.spanning.tree(g)
E(min.span)$mark
#> [1]  1  2  3  6  8 10 12 15 19 22 26 32 42 52 62 67 76 84 94