3

R で作成したネットワークの巨大なコンポーネントを計算する必要がありますが、このサイトで提供されているコード ( http://lists.gnu.org/archive/html/igraph-help/2009-08/msg00064.html ) 奇妙な出力になります。近さを計算するには巨大な要素が必要です(大学の先生によると)

giant.component <- function(graph) {
cl <- clusters(graph)
induced.subgraph(graph, which(cl$membership == which.max(cl$csize)-1)-1)}
G <- giant.component(as.igraph(Q))

結果:

IGRAPH U-W- 0 0 -- 
+ attr: frame.color (v/c), label.color (v/c), label (v/c), shape
(v/c), color (v/c), size (v/n), size2 (v/n), weight (e/n),
arrow.mode (e/n), curved (e/n), color (e/c), label (e/c), lty
(e/n), width (e/n)

Csardi によって提案されたコードの適応により、次のコードと結果が得られます。

model5 <- matrix(c(0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0), 5, 5, byrow = TRUE) 
C <- qgraph(model5, labels = c("X1", "X2", "X3", "X4", "X5"), vsize = 20, esize = 10, asize = 10, layout = "circle") 

giant.component <- function(graph) { 
cl <- clusters(graph) 
induced.subgraph(graph, which(cl$membership == which.max(cl$csize)))} 
G <- giant.component(as.igraph(C)) 
G <- qgraph(C)

IGRAPH D-W- 5 7 -- 
+ attr: frame.color (v/c), label.color (v/c), label (v/c), shape
(v/c), color (v/c), size (v/n), size2 (v/n), weight (e/n),
arrow.mode (e/n), curved (e/n), color (e/c), lty (e/n), width (e/n) 
4

1 に答える 1

6

古い (0.6 より前の) バージョンの igraph インデックス頂点 (およびその他すべて) はゼロから作成されますが、新しいバージョンでは 1 ベースのインデックスが使用されます。したがって、コードを次のように更新する必要があります。

...
induced.subgraph(graph, which(cl$membership == which.max(cl$csize)))}
...

(サンプルデータセットを提供しなかったため、テストされていません。)

于 2013-06-09T18:33:23.130 に答える