まずはR+igraphでネットワークグラフを作成する.
> library(igraph)
> d<-matrix(c(0,0,1,1,1 ,0,1,1,0,2,0,3,1,0,1,6,0,0,0,2,1,8,5,2,0),ncol=5,nrow=5)
> ls()
[1] "d"
> d
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 6 1
[2,] 0 1 3 0 8
[3,] 1 1 1 0 5
[4,] 1 0 0 0 2
[5,] 1 2 1 2 0
> g<-graph.adjacency(d,weighted=TRUE)
> summary(g)
Vertices: 5
Edges: 15
Directed: TRUE
No graph attributes.
No vertex attributes.
Edge attributes: weight.
> degree(g)
[1] 5 6 7 4 8
> png("c:/tmp/myplot.png",width=600, height=600,pointsize=14)
> plot(g,layout=layout.fruchterman.reingold,vertex.label=V(g)$smr,vertex.size=degree(g)*4)
> dev.off()
null device
1
なかなか,いい感じ.
つぎはCytoscape(http://www.cytoscape.org/)を使って描画してみる.
まずは,Rからグラフをエキスポートする.
このときファイルタイプとして”ncol”を指定するのを忘れずに!
> write.graph(g,"c:/tmp/mygraph.ncol","ncol")
Cytoscapeを起動して[File]>[Import]>[Network from Table(Text/MS Excel...)]を選択する.
先ほどエキスポートした「c:/tmp/mygraph.ncol」を読み込む.
[Source Interaction]に「Column 1」,[Interaction Type]に「Column 3」,[Target Interaction]に「Column 2」を設定する.
[Import]ボタンをクリックする.
これでグラフをインポートできた.
あとはCytoscpae上でグラフを色々と見やすくしてやればいい.
0 件のコメント:
コメントを投稿