Я написал код ниже, для обнаружения модульности, я также запускаю этап 1 алгоритма Лувена, но у меня есть вопрос, как я могу объединить сообщество, найденное на этапе 1, в так называемые суперузлы и оценить получение прироста модульности за счет дальнейшего объединения суперузлов
library(igraph)
g <- graph.formula(A1:A2:A3:A4:A5--A1:A2:A3:A4,A5,A5-A6,
A6:A7:A8:A9:A10--A6:A7:A8:A9,A10,A10-A11,
A11:A12:A13:A14:A15--A11:A12:A13:A14,A15,A15-A16,
A16:A17:A18:A19:A20--A16:A17:A18:A19,A20,A20-A21,
A21:A22:A23:A24:A25--A21:A22:A23:A24,A25,A25-A26,
A26:A27:A28:A29:A30--A26:A27:A28:A29,A30,A30-A1)
par(mar=c(2,2,2,2)) ### set margins
plot(g, vertex.size=5,edge.color="gray80",vertex.label=NA,vertex.color="red")
#2) Compute the initial value of the modularity
V(g)$grp <- c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6)
#op <- par(mfrow=c(1,2))
par(mar=c(2,2,2,2)) ### set margins
plot(g,vertex.color=(V(g)$grp),
vertex.size=7,vertex.label=NA)
modularity(g,V(g)$grp)
#3) Try to PARTIALLY run the stage 1 of the Louvain algorithm
cl <- cluster_louvain(g)
modularity(cl)
plot(cl, g,
main="Louvain algorithm",vertex.size=8 )