¿Cómo identificar grupos de nodos completamente conectados con igraph?

Estoy tratando de calcular los grupos de una red usando igraph en R, donde todos los nodos están conectados. La trama parece funcionar bien, pero no puedo devolver las agrupaciones correctas de mis clústeres.

En este ejemplo, el gráfico muestra 4 grupos principales, pero en el grupo más grande, no todos los nodos están conectados:

Me gustaría poder devolver la siguiente lista de grupos de estegraph objeto:

[[1]]
[1] 8 9

[[2]]
[1]  7 10

[[3]]
[1]  4  6 11

[[4]]
[1] 2 3 5

[[5]]
[1]  1  3  5 12

Código de ejemplo:

library(igraph)

topology <- structure(list(N1 = c(1, 3, 5, 12, 2, 3, 5, 1, 2, 3, 5, 12, 4, 
6, 11, 1, 2, 3, 5, 12, 4, 6, 11, 7, 10, 8, 9, 8, 9, 7, 10, 4, 
6, 11, 1, 3, 5, 12), N2 = c(1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 
3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 
11, 11, 11, 12, 12, 12, 12)), .Names = c("N1", "N2"), row.names = c(NA, 
-38L), class = "data.frame")

g2 <- graph.data.frame(topology, directed=FALSE)
g3 <- simplify(g2)
plot(g3)

loscliques La función me hace parte del camino allí:

tmp <- cliques(g3)
tmp

pero, esta lista también ofrece agrupaciones donde no todos los nodos se conectan. Por ejemplo, esta camarilla incluye los nodos 1,2,3,5 pero 1 solo se conecta a 3, y 2 solo se conecta a 3 y 5, y 5 solo se conecta a 2:

topology[tmp[[31]],]
#  N1 N2
#6  3  2
#7  5  2
#8  1  3

Gracias de antemano por cualquier ayuda.

Respuestas a la pregunta(1)

Su respuesta a la pregunta