R iGraph:双向边缘的度数

时间:2016-06-24 12:52:47

标签: r igraph degrees

我注意到,无论何时涉及双向边,iGraph中的函数degree都不能直接计算有向图的无向骨架图的程度。 例如,

g <-graph_from_literal( a-+b,a++c,d-+a,a-+e,a-+f )

d1 <- degree(g,v='a',mode="all")
# 6
nn <- unique(neighbors(g,'a',mode='all'))
d2 <- length(nn)
# 5

正如我想要d2,而不是d1,我使用了一个基于找到所考虑顶点的邻居的不同路线。 我的问题是:是否有更好/更快的方法来实现这一点,也许使用其他一些我不知道的iGraph函数?

1 个答案:

答案 0 :(得分:1)

创建图的无向副本,将无向图中的多个边折叠成单个边,然后计算该度:

> g2 <- as.undirected(g, mode="collapse")
> degree(g2)