Буду признателен за помощь при использовании decompose.graph
, функции обнаружения сообщества от igraph
и lapply
.
У меня есть объект igraph G с атрибутом вершины "label" и атрибутом ребра "weight". Я хочу рассчитать членство в сообществе, используя различные функции из 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
Может ли кто-нибудь помочь мне решить эту проблему? Или предоставить некоторые
информация / ссылки, которые могут помочь?