Home

Advertisement


Rのwrapperの話ばかりである。ここではOSX上のQuartzで動くRgraphvizの紹介をする。これができると狭義にネットワーク分析やアソシエーション分析の結果を可視化するのに便利である。

これをR.appから動かし、X11だけではなくQuartzグラフからも描画が使えるようにする。
Quartzでグラフが描画されれば、このように印刷・PDF・PSの出力やコピーなどで他のソフトと連携が良くなる。この恩恵は大きい。

Rgraphviz

Graphviz(Graph Visualization Software)とは AT&T研究所が開発したオープンソースのツールパッケージで、OSXのLeopardで使う場合は3つを選べる。詳しくは文末「他の情報メモ」に記載。

Rで計算した結果をいわゆるDOT形式をレンダリングしてくれて図にしてくれると非常にありがたい。ネットワーク分析のRパッケージigraphもこれを使うので将来勉強したい。


* 何が問題か?

まず、RとGraphvizはそれぞれ選択肢が3つある。1)ソースを自分でコンパイル、2)Macportを使いコンパイル、3)ビルドされたものを使う事だ。

Macportは私はDebianほどではないが、Unix使いにはなじみが良い。しかし、macportのRはX11でしか使えない。これを使ってもQuartzグラフは作れない。ソースから全部自分でインストールに成功したという記事も、X11で使っていると思われる。

[2009-03-28]現在、最新のGraphvizとRgraphvizの組み合わせでは、Rgraphvizのソースコンパイルに成功するが、動作はしない。

問題点は、「すでに情報が古く、両者のバージョンが合わず、組み合わせられない」ということが分かりにくい事。



* まずは何をするか紹介する

1)OSX用に、コンパイルされdmg形式で提供されているGraphvizを入手する。
2)bicoLiteで入手できるRgraphvizのバイナリパッケージをRに導入する。
http://www.bioconductor.org/packages/release/bioc/html/Rgraphviz.html

3)Rのパッケージが提供する、Rgraphviz.soの情報を確認する。(‾/Library/R/2.8/library/Rgraphviz/libs/i386/などを調べる)


* どうして動かせられないか?

LeopardのRバイナリーパッケージRgraphviz.soが必要とするLibとバージョンと保存場所が合わないから。

WebセオリーではLD_PATHを設定したりする記事があるが、それはコンパイル時点の設定情報だから、これを設定してもビルドされたものでは解決しないから。

4)そのRgraphviz.soが欲するGraphvizのLibraryをotoolで確認する。

/usr/local/lib/libgvc.3.dylibが必要なことはRのエラーコンソールで分かるがここでは「どこにあるそれ」が必要かの情報が得られる。(文末に記載)このれが味噌である。最新のOSX用GraphvizのLibgvは5で、これをrenameしてもRがコアを吐いてお亡くなりになる。

* どう解決するか?

RパッケージRgraphviz.soは、ここでlibgvc.3.dylibが必要で、それは/usr/local/libに存在する必要があることotoolがで分かる。

最新バージョンのgraphvizを入手すると、それはlibgvc.5.dylibであり折り合いがつかない。

そこで、http://www.ryandesign.com/graphviz/ におもむき、パッケージを入手する。


最新版を導入すると、/usr/local/graphviz-2.14/libにlibgvc.4.0.0.dylibが導入される。このままだと、Dirが合わないから動かない。そこで次のようにコピーするかlnすると動く。
sudo cp /usr/local/graphviz-2.14/lib/libgvc.4.0.0.dylib /usr/local/lib/libgvc.3.dylib
 
もう一つは、Graphviz 2.12 Revision 3を入手すると、libgvc.3.dylib が得られるので、これを使う方法もある。




Tags:



Comment Form

送信者:
( )匿名 このユーザーは匿名によるコメントの投稿を許可していません。
( )OpenID Help
(隠されます)
ユーザー名:
パスワード:
アカウントをお持ちでないですか? 今すぐ作りましょう
タイトル:
この欄では、HTML コードが使用できません。
   Help
コメント:
 
注意!: すべてのコメントの送信元の IP アドレスが記録されます。 Help

Profile

[info]syrius2000
syrius2000

Latest Month

March 2009
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
Powered by LiveJournal.com
Designed by Tiffany Chow