EDASalon第6回: 年齢・男女別人口推移データをExploratoryを使って綺麗にする

EDASalon第6回の年齢・男女別人口推移データを対象にEDASalonをしてみる。

実は下記の6つの機能を使うことで、簡単にデータを綺麗にしていくことができます。

  1. 行や列を指定してインポート(Skip)
  2. 列名を変更(Rename)
  3. 行を選択(Slice)
  4. 全ての列のデータタイプを変換
  5. ワイド型からロング型へ(Gather)
  6. 列を分割(Separate)

行や列を指定してデータをインポートする

まず、このデータをそのままインポートすると、データの上部にはこのデータの名前と単位など無駄な情報があることがわかる。

そして、このデータは2000年から2015年までの時系列データなのだが、6行目にポツンと年のデータが存在している。

Exploratoryではインポート時に最初のN行をスキップすることができるため、最初の6行をスキップ、X_2にある無駄な列のチェックを外して実行すると多少は綺麗になっていることがわかる。

列名を変更する

多少人力が必要だが、列名を変更(Rename)していく。

不要な行を取り除く

列名を綺麗にすることができたら、行を選択(Slice)という機能を使って不要な行を取り除いていく。

確認してみると1行目から6行目まで、不要なデータである。

ステップメニューからこれだけを残す/削除する行を選択を選ぶ。

除くにチェックをし、1行目から6行目を取り除きたいため、始めの行に1を、終わりの行に6を指定して実行する。

これだけでかなり綺麗なデータになってきた。

このデータの下部をみてみると、データソースをシート内に記入されていた。。。

そのため、こちらも行を選択を使って取り除く。

ちなみに、終わりの行にn()とすることで最後の行までを指定することができる。

データがかなり綺麗になってきている。

データタイプを変換する

データが綺麗になってきているが、全ての列のデータタイプが数値型でいいはずなのに、キャラクター型となっている。

そのため、全ての列のデータタイプを数値型に変換していく。

いくつかの列を選択し、データタイプを変換Numeric(数値)タイプに変換を選択する。

複数列に対するMutateのダイアログが開き、列を選択に全てを選択することで全ての列に対してMutateすることができる。

これで全ての列を数値型にすることができた。

ワイド型からロング型のデータにする

今のデータ型はワイド型(横に広がっているデータ)といい、チャートなどで扱いづらい。

そのため、ロング型(縦に広がるデータ)に変える。

ロング型に変えることができると、下記のように縦長のデータになてチャートに使いやすくなった。

列を分割して年と性別を分ける

2列目をみてみると、年の情報と性別のタイプの情報がひとつにまとまっていることがわかる。

この列を、年の列と性別のタイプの列に分けたい時に使えるのが、分割(separate)という機能だ。

列ヘッダメニューから分割、…で列に分割、区切り文字にアンダースコア(_)を選択する。

列名などを指定して実行すると、下記のように整えられたでーたにすることができた!

あとはフィルタをして、Typeをtotal以外にすることで男女の人口のみを使って可視化ができる。

年齢・男女別の人口推移

エリアチャートを使って年ごとの人口推移を割合として可視化した。

色にはカテゴリー化機能で5等分した年齢を、繰り返しには性別を割り当てた。

Loading...

20歳までの人口の割合は微妙に減少していることがわかる。そして、2005年あたりから60-80歳の人たちの割合がかなり増えている。

ラインチャートを使って可視化してみると、年齢別の人口推移がよりわかりやすく可視化することができる。

Loading...

60歳以上の人口が増え続け、高齢化している。

2000年に比べて何%増えているのかをみるために、表計算の差の割合で最初の値(2000年)と比べてみる。

Loading...

80歳以上の人は100%以上も増え、60-80歳以上の人は男女間で違いがあるものの30%程増えていることがわかる。

当たり前すぎることだが、こうしてチャートで可視化してみると高齢化はかなり進行していて、危機感を覚えますね。