我注意到,无论何时涉及双向边,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函数?
答案 0 :(得分:1)
创建图的无向副本,将无向图中的多个边折叠成单个边,然后计算该度:
> g2 <- as.undirected(g, mode="collapse")
> degree(g2)