(O+P)ut

頭の整理のために、Slerで働く若手インフラエンジニアが、【 (O+P)ut = OutPut 】していく場です。

【R言語】二次元配列の可視化手順

2次元配列(行列)を可視化する場合に使えるimage関数を実例を示しながら紹介します。

まず、元となる2次元配列ですが
R言語にてデフォルトで入っているサンプルデータAirPassengersを用います。アメリカの航空会社から提供されたデータで、1949年から12年間の国際線旅客数の毎月の合計が入っています。

> str(AirPassengers)
 Time-Series [1:144] from 1949 to 1961: 112 118 132 129 121 ...

といった具合の、12年x12月の計144つの値の可視化を順を追って説明していきます。コードのコピペで動作させることも可能です。

まず、こちらを2次元配列に格納します。

> airpass <- AirPassengers
> m_airpass <- matrix(airpass,ncol=12)

行列m_airpassの値の入り方は以下のようになります。行と列の入り方を逆にする場合は byrowオプションを使いますが、今回はこのままでいきます。
f:id:mtiit:20170920230958p:plain

これをそのままimage関数にて可視化したものがこちらです。
f:id:mtiit:20170920232527p:plain


少し見にくいですよね。その理由として、下記の2点があるかと思います。
・image関数のデフォルトでは、値が小さいものほど色が濃くなっている
・x軸、y軸の値が入っていない。

この2点の修正と修正結果は以下となります。

> image(1:12,1949:1961,max(m_airpass)-m_airpass,xlab="",ylab="",axes=FALSE)
> axis(1,1:12)
> axis(2,1949:1961)

f:id:mtiit:20170920232823p:plain
max(m_airpass)から値を引くことによって強制的に値を反転させています。そして、軸の表示をimage関数と分けて行うことで、表示したい値を画像に追記することができます。

image関数による可視化は以上です。ご参考ください。