読者です 読者をやめる 読者になる 読者になる

Rのigraphでグラフ処理

BOOST Graph Libraryにチャレンジするもコンパイルエラーが読みにくくて挫折.
Cからも叩けるということでigraphを使う.

1.インストールの準備
 CRANに入っているのでinstall.packageでplyrと依存関係があるが,2015/10/20現在だとUbuntu14.04のRはバージョンが古くてplyrが提供されていない.そこで,Rのバージョン自体を上げる必要がある.以下がそのコマンド.
これをやっておくとflycheckが中で呼び出しているrlinttoolも入れられるのでEmacsでのオンザフライの文法チェックがRでもできるようになる.

$ sudo apt-get remove r-base r-core
$ sudo add-apt-repository "deb http://cran.ism.ac.jp/bin/linux/ubuntu trusty/"
$ gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
$ gpg -a --export E084DAB9 | sudo apt-key add -
$ apt-get update
$ sudo apt-get install r-base
# たまたまなのか,上の東工大リポジトリにアクセスできなかったので実際は下のUCLAで入れた.
# sudo add-apt-repository "deb http://cran.stat.ucla.edu/bin/linux/ubuntu trusty/"

2.グラフの作り方
・色々とあるけど,あんまり考えずに隣接リスト(エッジリスト)でやる,graph_from_edgelistが一番いいと思う.
・名前とか重みは後で$name, $weightでつけられる.プロット時の色なども$colorで指定できる.

3.注意点
・ノード番号,枝番号は穴なく埋められている.つまり,枝数やノード数を変化させるようなグラフ操作,例えば誘導部分グラフ生成(induced_subgraph)などはノードのインデックスが変わってしまうので注意する.