Rで分布図を描く

 Rは統計解析用のプログラムです。
 WindowsでもMACでも動き処理も速く、さまざまなことができるので使われている人も多く、解説書もたくさんあります。
 インストール方法など詳しくは googleで「R インストール」で検索 し、お読みください。

どんな分布図が描けるの?

 今回試したのはタンポポ調査の際のデータなので、分布図の元データは三次メッシュのデータになっています。それで描いた図を2つ紹介します。

mesh

外来種の分布を示した図

 西日本の調査範囲の陸地を灰色、海を青色にして、赤で分布をプロットしました。この1点1点が、メッシュ1つになります。

mesh

外来種の密度

 上の外来種の分布を元に、どこに点が集中しているのかカーネル密度を計算して示した図です。赤い色をしたところが外来種の分布密度が高くなっています。そしてそうした場所は人口が多い地点とよく一致しています。

mesh

分布図の描き方

 分布を示すメッシュが、基準点(たとえば、北緯0度、東経0度)から北と西へ何個目なのかがわかれば、そこにグラフの機能で点をうってやれば分布図を描くことができます(右図)。
 Rは統計処理ソフトでグラフを描くことは簡単にできますので、背景用に陸地の地点灰色で、分布地点を赤色でプロットしたのが一番上の図です。RにはグラフをPDF形式にできますので、イラストレータやフォトショップで加工してやることもできます。

座標値の求め方

 分布のプロットを打つ座標値xとyを求める計算式としては下記になります。
 三次メッシュ ABCD-EF-GH(例:4929-47-94)の場合
  y = AB * 80 + E * 10 + G      ( 3969 = 49 * 80 + 4 * 10 + 9)
  x = 8000 + CD * 80 + F * 10 + H   ( 10394 = 8000 + 29 * 80 + 7 * 10 + 4)
 こちらも合わせてご覧ください。

背景用データの作成

 分布図を描くためには、背景用の地図データを用意しなければなりません。RではShapeファイルを利用することができますが、今回は西日本の調査範囲について分布図を描くので、細かい背景用の地図は不要です。そこで、陸地のデータを用意しました。
 今回はメッシュのデータですので、陸地用のデータもメッシュで用意します。陸地用のデータの作り方はメッシュの標高が0以上のものを使えば簡単に作れます。筆者の場合は、タンポポ調査の19府県について、各メッシュがどの府県に所属しているか管理しています。タンポポは水上には生えませんので、琵琶湖や海のような水(海)上の地点のメッシュについては府県を入力していませんので、それで抽出することができました。そのメッシュについて、上記の計算式から陸地のxy座標を求めて、テキストファイルにしておきます。

Rでの操作

1.サンプルファイル(rtemp.zip)をダウンロードしてください。
2.それを解凍して、Windowsの場合はCドライブの直下、MACの場合は起動ディスクの直下においてください。
3.「実行ー単純どっと.txt」をダブルクリックし、 Macの場合は「Wdir<-"C:/rtemp/"」を「Wdir<-"/rtemp/"」に変更してください。

mesh

4.「実行ー単純どっと.txt」の中身をすべてコピーして、Rを起動しペーストしてください。リターンキーを押すと計算が始まります。

mesh

5.しばらくすると分布図が表示され、rtempのフォルダ内に「分布.pdf」のファイルが作成されます。
 画面で表示される分布図は、メッシュの縦横の長さの差を考慮した表示となっていないので、縦がのびたような地図になっています。PDFファイルでは補正をしています。
 なお、Rのプログラムについてはほとんど知識がありませんので、もっとエレガントな方法(書き方)があるかと思います。その分簡単なコードですので、ちょっと変えてみて動作を試してみるとよいでしょう。あくまでも自己責任でお願いいたします。

戻る