2

次のグラフがあります。

library(igraph)
library(Cairo)

g<-graph(c(0,1,0,4,0,9,1,7,1,9,2,9,2,3,2,5,3,6,3,9,4,5,4,8,5,8,6,7,6,8,7,8),n=10,dir=FALSE)
V(g)$name<-c(1:10)
V(g)$label<-V(g)$name
coords <- c(0,0,13.0000,0,5.9982,5.9991,7.9973,7.0009,-1.0008,11.9999,0.9993,11.0002,7.9989,13.0009,10.9989,14.0009,5.9989,14.0009,7.0000,4.0000)
coords <- matrix(coords, 10,2,byrow=T)
plot(g,layout=coords)

4 、 5...n 頂点のサイクルを取得したいのですが、たとえば、これらのグラフでは 5 のサイクルを取得したいのですが、

1 10 3 6  5
2  8 7 4 10
3  4 7 9  6

私は次のようなサイクルを望んでいません

1 2 8 9 5このサイクルの内側に頂点があります。

4

1 に答える 1

3

まず、コードを少し変更して、誰かが「箱から出して」グラフを簡単に作成できるようにしましょう。

このコードには Cairo は必要ないので、削除しましょう。グラフ作成行を次の 2 行に置き換えます。

your.nodes<-c(0,1,0,4,0,9,1,7,1,9,2,9,2,3,2,5,3,6,3,9,4,5,4,8,5,8,6,7,6,8,7,8)
g<-graph(your.nodes+1,dir=FALSE)

これyour.nodes+1は、graph()/igraph が特別な方法で 0 id を処理するために存在します。別の時間のトピックかもしれません。

この時点で、最後の行からグラフをプロットできるはずです。igraph のプロット

プロットを見て、なぜ必要ないのか疑問に思って1 2 8 9 5います。「サイクル内の頂点」とはどういう意味かわかりません。基本的なサイクルを取得する限り、パッケージfundCycles()から見てください。ggm

(PS:また、これを回答として投稿して申し訳ありません。コメントでこれを尋ねたり、写真を埋め込んだりするのに十分な評判ポイントがありません。)

于 2014-08-04T07:16:53.187 に答える