Szukałem odpowiedzi na to pytanie, ale nie mogłem znaleźć żadnej wzmianki, więc zdecydowałem się opublikować tutaj. Próbuję sprawdzić, czy igraph lub jakiekolwiek pakiety zapewniają prosty sposób tworzenia "wykresu społeczności", w którym każdy węzeł reprezentuje społeczność w sieci, a więzi reprezentują więzi między społecznościami. Mogę sprawić, by algorytm wykrywania społeczności działał poprawnie w trybie igraph, ale nie mogłem znaleźć sposobu na zwinięcie wyników, aby pokazać połączenia między społecznościami. Każda pomoc będzie doceniona.generowanie wykresu społeczności w igraph
8
A
Odpowiedz
19
Możesz po prostu użyć funkcji contract.vertices(). Sparowuje to grupy wierzchołków w jeden wierzchołek, w zasadzie w ten sam sposób, w jaki chcesz. Na przykład.
library(igraph)
## create example graph
g1 <- graph.full(5)
V(g1)$name <- 1:5
g2 <- graph.full(5)
V(g2)$name <- 6:10
g3 <- graph.ring(5)
V(g3)$name <- 11:15
g <- g1 %du% g2 %du% g3 + edge('1', '6') + edge('1', '11')
## Community structure
fc <- fastgreedy.community(g)
## Create community graph, edge weights are the number of edges
cg <- contract.vertices(g, membership(fc))
E(cg)$weight <- 1
cg2 <- simplify(cg, remove.loops=FALSE)
## Plot the community graph
plot(cg2, edge.label=E(cg2)$weight, margin=.5, layout=layout.circle)
+2
Wygląda na to, że ten kod już nie działa ... –
+2
Naprawiłem to. –
Powiązane problemy
- 1. Podzbiór wykresu igraph według etykiety
- 2. Python igraph: usuń wierzchołki z wykresu
- 3. Generowanie wykresu wywołań w R
- 4. Tworzenie ważonego nieukierunkowanego wykresu w "igraph" w C/C++
- 5. Jak pogrupować układ w igraph?
- 6. R: metoda igraph, community detection, edge.betweenness, liczba/lista członków każdej społeczności?
- 7. generowanie losowej sekwencji i wykresu w R
- 8. Generowanie wywoływania wykresu dla kodu C++
- 9. Generowanie wykresu "na żywo" za pomocą D3
- 10. Generowanie płynnego wykresu liniowego za pomocą matplotlib
- 11. pobierz podłączone komponenty używając igraph w R
- 12. Poprawnie kolorowe wierzchołki w R igraph
- 13. python + igraph "plotowanie niedostępne"
- 14. Jak kopać dla motywów w R z iGraph
- 15. Określone długości krawędzi w siecix/igraph (Python)
- 16. Jak podzielić igraph na połączone podgrafy?
- 17. R wykresu stopniowania nie działa
- 18. igraph: pozycjonowanie etykiet i usuwanie pustej przestrzeni w układzie siatki
- 19. Używanie współrzędnych geograficznych jako współrzędnych wierzchołków w pakiecie igraph r
- 20. Aktualizacja wykresu/wykresu w ustalonym przedziale czasu
- 21. sqlite.cs nie może znaleźć sqlite3 i społeczności
- 22. Członkowie społeczności eazfuscator nie są zaciemniani
- 23. Ekstrakt krawędzi i społeczności z listy węzłów
- 24. Działka drzewo z graph.tree funkcji z igraph
- 25. Importuj ważony edgelist za pomocą igraph
- 26. kontrolujący krawędzie widoczne na wykresie sieci w igraph w R
- 27. Obsługa ES6/ES7 w środowisku społeczności Visual Studio 2015
- 28. biblioteka do wykrywania nakładających się społeczności w sieci?
- 29. Tworzenie wykresu w java
- 30. rysuj wiele dyskretnych sieci w R używając igraph
Tak, można to zrobić za pomocą piktogramu, ale tak naprawdę nie dostarczyłeś niczego odtwarzalnego. Oto blog, który zrobiłem na igraph [(LINK1)] (http://trinkerrstuff.wordpress.com/2012/06/29/igraph-and-structured-text-exploration/) i [(LINK 2)] (http : //trinkerrstuff.wordpress.com/2012/06/30/igraph-and-sna-an-amateurs-dabbling/) Taka autopromocja, ale to pasuje :) Strona do pisania jest bardzo dobra z wieloma przykładami. Ponownie możemy pomóc, korzystając z przykładowego zestawu danych. –
+1 do przykładowych danych. – TARehman