2017-05-22 1 views
0

J'ai un graphe non connecté et je veux convertir chaque composant en un graphe indépendant. Ceci est un exemple, j'ai écrit que je ne pouvais pas atteindre le résultat:convertir des composants d'un graphe en graphes indépendants

gr<- graph(edges=c(1,2, 2,3,3, 1,4, 5), n=5, directed=F) 
is.connected(gr) 

cl <- clusters(gr) 
f<-induced.subgraph(gr1,which(cl$membership == which.max(cl$csize))) 
sapply(gr, function(f) f) 

Une idée à elle?

Répondre

1
gr <- graph(edges = c(1,2, 2,3, 3,1, 4,5), n = 5, directed = F) 
is.connected(gr) 

cl <- clusters(gr) 

graph_splitting <- function(k, gr, cl = clusters(gr)){ 
    induced.subgraph(gr, cl$membership == k) 
} 

sapply(1:max(cl$membership), graph_splitting, gr = gr, cl = cl, simplify = FALSE) 
+0

c'était incroyable. Merci. – minoo