行列の可視化
2次元配列(行列)を可視化する場合に使えるimage関数を実例を示しながら紹介します。
サンプルデータ
まず、元となる2次元配列ですが
R言語にてデフォルトで入っているサンプルデータAirPassengersを用います。
アメリカの航空会社から提供されたデータで、1949年から12年間の国際線旅客数の毎月の合計値です。
str関数を使って見てみると、12年x12ヶ月、計144の値だと確認できました。
> str(AirPassengers) Time-Series [1:144] from 1949 to 1961: 112 118 132 129 121 ...
このデータに対する可視化を順を追って説明していきます。
実装
まず、こちらを2次元配列に格納します。
> airpass <- AirPassengers > m_airpass <- matrix(airpass,ncol=12)
行列m_airpassの値の入り方は以下のようになります。行と列の入り方を逆にする場合は byrowオプションを使いますが、今回はこのままでいきます。
これをそのままimage関数にて可視化したものがこちらです。
ただし、この出力結果が少し見づらいです。
その理由は下記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)
max(m_airpass)から値を引くことによって値を反転させています。
軸の表示をimage関数と分けて行うことで、表示したい値を画像に追記しています。
おまけ R言語を用いたその他の可視化手法
合わせて、ご参考ください。