日本の市区町村の地図を使って可視化する方法をこちらに説明します。

まずは、データの方ですがこちらの日本政府が統計データを提供しているe-Statのページから、人工増減率を含むいくつかの指標が市区町村レベルでまとめられてあるデータをダウンロードしてきました。こちらにCSVのファイルを直接ダウンロードできるように置いておきました。

ちなみに、このサイトは結構簡単にデータを選べて、CSVとしてダウンロードできるのでおすすめです。

ただ、この手のデータではよくありがちですが、データが分析をすぐに始めるにはちょっと’汚い’ので、可視化、もしくは分析しやすい形に最初に整える必要があります。

もし、すでに整ったデータを持っている方で、地図での可視化のみが知りたい方は、市区町村の地図で可視化のセクションまで読み飛ばして下さい。

CSVデータのインポート

最初に上記のダウンロードしてきたCSVをインポートしようとするとこのようなデータがプレビューで見えます。

元のデータはもっと列があるのですがなぜか最初の2列しか出てきていません。

”生データ(元データ)”のタブを押して元のデータを見てみると、どうも最初の8行ほどは余分なデータのようで、9行目に表の列ヘッダーとも言うべきデータがあり、その後の行から実データが始まっているのがわかります。

ということで、左のデータインポートに関するパラメータの中から、”最初のN行をスキップ”に8を設定することで、最初の8行をスキップすることにします。

さらに、よく見ると’***’ という、3つのアスタリスクがNAの代わりに使われているようです。

後でデータラングリングの際に対応してもいいのですが、面倒なので、このインポートの際にいっぺんにやってしまいましょう。

”これらを欠損値として処理”のパラメータに、以下のように

***

3つのアスタリスクを入力して、”データの取得”ボタンを押します。

このデータは6つほどの指標がありますがそのどれもが同じように3つのアスタリスクを欠損値(NA)の代わりに使っています。そのどれもがこのパラメータ一つの設定で、きれいに置き換わりました。

ここで、右下の”保存”ボタンを押してインポートすると以下のようなサマリのビューが出てきます。

データの加工

まず最初に気づくのが、数値であるはずの指標の列がなぜかCharacter型となっていることです。下の方にスクロールしていくといくつかの列では “-” (ハイフン) がデータの中に入っています。

どうもこの文字のせいでNumeric(数値)型と正しく判断されてないようです。であれば、もう一度、データのインポートのダイアログに戻って、この文字列も欠損値候補として登録してしまいましょう。

下のように緑のボックスをクリックすることで、データのインポートダイアログを開くことができます。

”これらを欠損値として処理”のパラメータに、“-” (ハイフン) を追加します。

***, -

そして、データを取得ボタンをクリックして、更新ボタンをクリックします。

すると、全ての指標の列が正しくNumeric型と認識されているのが確認できます。

列の選択

次に全てが欠損値である”注釈”関連の列があります。うっとおしいのでこれらの列を削除してしまいましょう。

列ヘッダーメニューから、列の削除、選択された列を削除を選びます。

これだけだと、この選ばれた列だけが削除されてしまうので、緑のボックスをクリックして列の選び方を設定します。

出てきたダイアログの中で、’ルール’を選び、’…で始まる”をルールタイプとして選び、適合するテキストに”注釈”と入力します。

私はさらに以下の列を削除しました。

  • 調査年 コード
  • /項目

これは、プラスボタンを押してこれらの列を選ぶことでできます。

列名の変更

欠損値である行を削除

今回はこのデータの中のいくつかある指標の中から人工増減率を可視化してみたいので、この人口増減率の列で欠損値(NA)である行を削除します。

人工増減率の列ヘッダーメニューから、フィルタ、欠損値でないを選び、そのまま実行します。

赤い欠損値(NA)のインジケーターがなくなりました。

2015年度のデータだけにする

調査年の列を見ると複数の年のデータがあるよう。

今回は最新のデータだけをまずは見てみたいので、”2015年度”だけにするためにフィルタします。

地域の列の値からスペースを除く

地域の列の値を見やすくするために、テーブル・ビューに移りましょう。

都道府県と市区町村の間にスペースがあるのに気づくと思います。この後、市区町村の地図で可視化しますが、そのためにはその地図にスペースなしの都道府県と市区町村の名前の入ったデータを渡す必要があるので、ここでこのスペースを取り除いてしまいましょう。

地域の列ヘッダーメニューから、

テキストを操作 -> テキストを削除

を選びます。

str_remove()という関数が自動生成されます。1つ目の引数はこれから操作したい列の名前で、2つ目の引数が削除する文字列です。ここではスペースを削除したいので、半角のスペースを下記のように入れます。

後でこの元のデータを使う時が来るので、ここでは、”新しく列を作成”を選択し、列名を入力し、新しい列として実行します。

一番最後に実行された結果の列が追加されます。

これで、市区町村の地図で可視化するためのデータの準備ができました。

市区町村の地図で可視化

市区町村レベルの地図をインストール

市区町村レベルの地図は、地図のエクステンションのダイアログからインストールすることができます。

エリアタイプの横の設定ボタンを押します。

エクステンションのダイアログの中で、新規追加を選択して”Japan Cities”を見つけ、その横にある”インストール”ボタンを押します。

私の環境ではすでにこの地図はインストールされているので、”インストール済み”となっていますが、まだインストールされていない場合は、”インストール”となっているはずです。

インストールが出来たら、エリアタイプに”Japan Cities“を選びます。次に、個々にあるデータとマッチするように、キー・プロパティに”NAME_JP”を選びます。

次に、キー列に先ほど新しく作ったスペースなしの都道府県と市区町村の入った列を選びます。

最後に、色で分割に、”人口増減率”の列を選びます。

地図の左上のプラスボタンを押すか、ダブルクリック、もしくはスクロースすることでズームインができます。

デフォルトの青のグラデーションのカラーパレットではいまいち見にくいので変えてみましょう。

”色で分割”の横のネジの形をしたアイコンをクリックして、設定のプロパティの中で、カラーパレットにRed-Yellow-Greenを指定します。

ところで、このデータはマイナスの数字とプラスの数字が混ざっています。マイナスであれば赤に近い色、プラスであれば緑に近い色としたいので、”0を中央にする”をチェックします。

すると、福島の市区町村のみが赤くなっているのが見えます。これらの地域は人口増減率の値が、ほぼ100%です。

これは、ある意味アウトライアー(異常値)、つまりこの地域の値が他に比べて飛び抜けて大きい状態で、そのせいで他の地域の値の違いが見えなくなってしまっているので、一度、人口増減率が−20%以上のものだけにフィルタしてみましょう。

先ほどのデータラングリングしてたときは、データラングリングのステップとしてフィルタしましたが、今回はチャートのレベルでフィルタします。というのも、同じデータにいくつものチャートを作ることができるのですが、今回はこのチャートだけに適用するフィルタを作りたいからです。

チャートエリアの上にあるフィルタのボタンを押します。

フィルタのダイアログで、演算子に”より大きい”を選び、-20を値に入力し、実行ボタンをクリックします。

これで、人口増減率の市区町村毎の違いが見やすくなりました。

右上のメニューから、”フルスクリーンで表示”を選び、チャート画面をアプリケーションの画面いっぱいに表示することが出来ます。

奈良、高知、群馬などに人口の減少率の高い市区町村が多いようです。

関東エリアにズームインすると、中央区、港区、千代田区のような一部の東京の23区で特に人口増加率が高いのがわかります。

追加: 沖縄は人口が増えている?

ちなみに、多くの地方では人口が減っていっているのがわかる一方、沖縄では人口が増えていっているようです。

ここで、バーチャートにしてそれぞれの市区町村の人口増加率を比べてみましょう。

ここでは、人口増加率を5%より大きい市区町村だけをフィルタしています。

これだけだと本当に沖縄には他に比べて人口が増えている市区町村が多いのかわかりにくいので、わかりやすくするために沖縄と東京だけを別の色を付けてみましょう。

都道府県と市区町村を別々の列に分割

現在、都道府県の値のみを持っている列がないので、地域の列を分割して都道府県と市区町村とというように、それぞれ別の列にしましょう。

テーブル・ビューに行き、地域の列ヘッダーメニューから、

分割 -> … で列に分割 -> スペース

を選びます。

分割のダイアログの中で、これから新しくできる2つの列の名前をつけます。さらに元の列を残しておきたいので、”元の列を除去”というパラメータの値を”FALSE“に設定します。

実行すると、元の”地域”という列の横に新しく分割された列が2つ出来ているのが確認できます。

この都道府県をそのまま例の地図の”色で分割”にアサインすると以下のように余計わかりにくくなります。

値の置き換え

そこで東京と沖縄のみをそのままの値として残し、それ以外を”その他”とするように値の置き換えを行います。

都道府県の列ヘッダーメニューから、”既存の値を新規の値で置換”を選びます。

まずは、これから行う値の置き換えの結果を新しい列として保存したいので、”新しく列を作成”をチェックして、列名を入力します。

次に、”東京都”と”沖縄県”をそれぞれ選んで、それぞれ”東京”、”沖縄”と新しい値に入力します。

最後に、それ以外を”その他”にしたいので、”その他すべてを’その他’に置換”をチェックして、”その他”と入力し、実行ボタンをクリックします。

すると最後に新しい列が出来ているのが確認できます。

サマリービューに行くと、実際にどういった値があるのかが確認できます。

ここで元の市区町村の地図に戻って、この新しい列をアサインします。

こうすると、東京(オレンジ)と沖縄(緑)の市区町村が他に比べて特に人口の増加率が高いというのが確認できます。