Ubuntu上のRで、OpenGLを用いた3次元可視化パッケージであるrglをインストールする方法をお伝えする。

通常の方法で、Rにrlgパッケージをインストールしようとしても、「X11が見つからない」とエラーが出てインストールできない。


> install.packages('rgl')

configure: error: X11 not found but required, configure aborted.
ERROR: configuration failed for package ‘rgl’

R上でrglパッケージをinstall.packages関数でインストールする場合は、Ubuntu側で、各種依存ライブラリをインストールする必要がある。
これは少し大変なので、最も簡単にrglを使う方法は、ターミナル(端末)上で、apt-getからインストールすればよい。
各種依存ライブラリをインストールよりも圧倒的に簡単だ。


$ sudo apt-get install r-cran-rgl

rglパッケージがインストールできたところで、実際に少し触ってみる。
サンプルデータとして、Rに標準で付属しているOrchardSprays(オーチャードスプレーの効力)を用いた。
これは、ラテン方格法を使用して、ミツバチを退ける果樹園のスプレーの様々な成分の効力を評価するために実施した実験結果で、次のようなデータフレームとなっている。
詳しい内容は「help(OrchardSprays)」を実行して参照してみてほしい。


> str(OrchardSprays)
'data.frame':	64 obs. of  4 variables:
 $ decrease : num  57 95 8 69 92 90 15 2 84 6 ...
 $ rowpos   : num  1 2 3 4 5 6 7 8 1 2 ...
 $ colpos   : num  1 1 1 1 1 1 1 1 2 2 ...
 $ treatment: Factor w/ 8 levels "A","B","C","D",..: 4 5 2 8 7 6 3 1 3 2 ...

実際に、プロットしてみる。


> library(rgl)

> plot3d(
      x = OrchardSprays$colpos, 
      y = OrchardSprays$rowpos, 
      z = OrchardSprays$decrease, 
      col = rainbow(7)[OrchardSprays$treatment], 
      size = 5)

別ウィンドウが開いて、次のような画面が表示される。
マウスで適当に動かして、視点をずらすことができる。

sample-1
プロットされた3次元グラフィックを保存する場合は、別ウィンドウが開いた状態で、R上に次のコマンドを実行すればよい。


> rgl.snapshot('sample-1.png')

gifアニメーションとして保存する場合は、あらかじめUbuntuのターミナル上で、imagemagickをインストールしておく。


$ sudo apt-get isntall imagemagick

Rでのコマンドは次のようになる。


> # ウィンドウ起動
> open3d() 
> 
> # ウィンドウにプロット
> plot3d(
       x = OrchardSprays$colpos, 
       y = OrchardSprays$rowpos, 
       z = OrchardSprays$decrease, 
       col = rainbow(7)[OrchardSprays$treatment], 
       size = 5)
> 
> # プロットしたものを動かす
> M  if (!rgl.useNULL())
      play3d(
          par3dinterp(
              userMatrix = list(
                  M,
                  rotate3d(M, pi/2, 1, 0, 0),
                  rotate3d(M, pi/2, 0, 1, 0) ) ), 
          duration=3 )
> 
> # gifアニメーションとして保存
> movie3d(spin3d(), duration=10, movie='sample-2')

sample-2

Ubuntu,R OpenGLを用いた3次元可視化パッケージrglのインストール方法