decompose.graph
对于使用和 的社区检测功能,igraph
我将不胜感激lapply
。
我有一个带有顶点属性“标签”和边缘属性“权重”的 igraph 对象 G。我想使用 igraph 中的不同函数计算社区成员资格,为简单起见walktrap.community
。
这个图不是连通的,所以我决定把它分解成连通的组件并walktrap.community
在每个组件上运行,然后在原始图 G 上添加一个社区成员顶点属性。
我目前正在做以下事情
comps <- decompose.graph(G,min.vertices=2)
communities <- lapply(comps,walktrap.community)
此时我被卡住了,因为我得到了结构我无法弄清楚的列表对象。上的文档decompose.graph
只告诉它返回列表对象,当我lapply
在结果上使用时,我完全糊涂了。此外,社区在每个组件中从 0 开始编号,我不知道如何将weights
参数提供给walktrap.community
函数。
如果不是组件,我会执行以下操作:
wt <- walktrap.community(G, modularity=TRUE, weights=E(G)$weight)
wmemb <- community.to.membership(G, wt$merges,steps=which.max(wt$modularity)-1)
V(G)$"walktrap" <- wmemb$membership
谁能帮我解决这个问题?或者提供一些可能有帮助的信息/链接?