Excelでもプログラミングでもないデータ加工と分析

Web上ですぐ使えるETLツール "HowData"を使ったデータ加工&分析を紹介しています

1年間の移民数は世界中でどれくらいなのか?

少子高齢化、人手不足の解決策に必ずでてくるのが、移民政策です。

「年間20万人の移民が日本の人口と経済維持に必要だ」、という話も聞くことがあります。それに対して、「日本はすでに移民先に選んでもらえる国にはない」、という話も聞くことがあります。

しかし、これらの議論の前に、そもそも、「1年間の移民数は世界中でどれくらいなのか?」、その環境で年間20万人の移民にはどんな意味があるのか?、を考えていくことが重要です。これを次の手順でデータで確認しました。

  1. 世界の移民データを取得 (世界銀行)する
  2. データ形式が表形式なのでリスト形式へ変更する
  3. データの取捨選択をする
  4. グラフを作成する

作成したのが、以下のグラフです。

 

この調査は5年ごとに行われています。

2012年で移民した総数はおよそ1800万人/5年なので、

年間に直すとおよそ360万人/1年、となります。

これから、年間20万人は世界の1年間の移民数のおよそ5.5%ほどになります。

また、Lower Middle Income( 1人あたりGDP $1,006- $3,955の国) から移民することがほとんどであるという点も議論を進める上で重要になるでしょう。

f:id:howdata:20180408100048p:plain

このデータ加工&分析をするには?

Excelで今回のデータ加工&分析をする場合、厄介になるのが、表形式をリスト形式へ、

横持ちデータを縦持ちデータへ、のデータ加工です。

 

これらの処理が簡単にできるインブラウザ型のデータ加工/分析サービス HowDataで作成しました。

 

howdata.io

 

f:id:howdata:20180408100120p:plain

1. データを取り込む (ファイル)

世界銀行 Net migration https://data.worldbank.org/indicator/SM.POP.NETM?view=chart

ノードへ入力されるデータ
 
  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG AH AI AJ AK AL AM AN AO AP AQ AR AS AT AU AV AW AX AY AZ BA BB BC BD BE BF BG BH BI BJ
1 Data Source World Development Indicators                                                                                                                        
2 Last Updated Date 3/1/18                                                                                                                        
3                                                                                                                            
4 Country Name Country Code Indicator Name Indicator Code 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
5 Aruba ABW Net migration SM.POP.NETM     -4323         -4275         -3537         -5470         -1921         -5194         14218         6926         6263         -441         1253          
6 Afghanistan AFG Net migration SM.POP.NETM     -20000         -20000         -20000         -1092462         -3318301         -1484185         2327473         -379474         929118         -777497         448007          
7 Angola AGO Net migration SM.POP.NETM     -135000         -226155         -80955         11455         234148         -151982         142811         -126955         172594         85286         87322          
8 Albania ALB Net migration SM.POP.NETM     -99         -99         -99         -99         -99         -99         -443212         -179606         -176774         -217358         -93425          
9 Andorra AND Net migration SM.POP.NETM                                                                                                                    
10 Arab World ARB Net migration SM.POP.NETM     -502251         -841024         -870418         1830706         562853         -594845         -510510         -1852228         -25472         4152627         608774          
11 United Arab Emirates ARE Net migration SM.POP.NETM     37882         53823         265100         387833         184159         261351         368126         484452         1161000         3331000         480000          
12 Argentina ARG Net migration SM.POP.NETM     122001         130001         290000         -230001         139999         160002         29999         -80000         -90000         -84998         30000          
13 Armenia ARM Net migration SM.POP.NETM     70335         103399         86404         17214         -51230         -67528         -496288         -223873         -160521         -183361         -30535          
14 American Samoa ASM Net migration SM.POP.NETM                                                                                                                    
ノードから出力されるデータ(15,312)
 
Left__0 Left__1 Left__2 Left__3 Top__0 Value
Aruba ABW Net migration SM.POP.NETM 1960  
Aruba ABW Net migration SM.POP.NETM 1961  
Aruba ABW Net migration SM.POP.NETM 1962 -4323
Aruba ABW Net migration SM.POP.NETM 1963  
Aruba ABW Net migration SM.POP.NETM 1964  
Aruba ABW Net migration SM.POP.NETM 1965  
Aruba ABW Net migration SM.POP.NETM 1966  
Aruba ABW Net migration SM.POP.NETM 1967 -4275
Aruba ABW Net migration SM.POP.NETM 1968  
Aruba ABW Net migration SM.POP.NETM 1969  
Aruba ABW Net migration SM.POP.NETM 1970  
Aruba ABW Net migration SM.POP.NETM 1971  
Aruba ABW Net migration SM.POP.NETM 1972 -3537
Aruba ABW Net migration SM.POP.NETM 1973  
1.ファイルノードを配置する
ノードパネルからファイルノーをクリックして選択します。クリック後、フローシート上で配置したい場所にカーソルを合わせ、再びクリックします
2.ノード編集画面を開く
ノードをクリックすると、選択パネルが表示されます、編集するをクリックすると編集画面が表示されます

3.ファイルを選択する
ファイル選択フォームからAPI_SM.POP.NETM_DS2_en_excel_v2.xlsを選択します
4.ワークシートを選択する
API_SM.POP.NETM_DS2_en_excel_v2.xlsに含まれるワークシートDataチェックボックスを選択します
5.列名となるデータ範囲を指定する
A4~BJ4の範囲をカーソルで指定後、[列名の範囲にする]ボタンをクリックします
6.表形式からリスト形式へデータ構成を変更する
A1~D268の範囲をカーソルで指定後、[リスト形式の範囲にする]ボタンをクリックします
7.編集内容を保存する
[保存して閉じる]ボタンをクリックし、ノード編集を終了します

2. 列を変更する (列変更)

 

ノードへ入力されるデータ(15,312)
 
Left__0 Left__1 Left__2 Left__3 Top__0 Value
Aruba ABW Net migration SM.POP.NETM 1960  
Aruba ABW Net migration SM.POP.NETM 1961  
Aruba ABW Net migration SM.POP.NETM 1962 -4323
Aruba ABW Net migration SM.POP.NETM 1963  
Aruba ABW Net migration SM.POP.NETM 1964  
Aruba ABW Net migration SM.POP.NETM 1965  
Aruba ABW Net migration SM.POP.NETM 1966  
Aruba ABW Net migration SM.POP.NETM 1967 -4275
Aruba ABW Net migration SM.POP.NETM 1968  
Aruba ABW Net migration SM.POP.NETM 1969  
Aruba ABW Net migration SM.POP.NETM 1970  
Aruba ABW Net migration SM.POP.NETM 1971  
Aruba ABW Net migration SM.POP.NETM 1972 -3537
Aruba ABW Net migration SM.POP.NETM 1973  
ノードから出力されるデータ(15,312)
 
国名 移民数
Aruba 1960  
Aruba 1961  
Aruba 1962 -4323
Aruba 1963  
Aruba 1964  
Aruba 1965  
Aruba 1966  
Aruba 1967 -4275
Aruba 1968  
Aruba 1969  
Aruba 1970  
Aruba 1971  
Aruba 1972 -3537
Aruba 1973  
1.列変更ノードを配置する
ノードパネルから列変更ノードをクリックして選択します。クリック後、フローシート上で配置したい場所にカーソルを合わせ、再びクリックします
2.ノードを接続する
データを処理する順番にノードを接続する必要がありますが、接続方法には2つあります

3.ノード編集画面を開く
ノードをクリックすると、選択パネルが表示されます、編集するをクリックすると編集画面が表示されます

4.列を削除する
,Left__2,Left__3のフィルターボタンをクリックして、列を削除します
5.列名を変更する
列名をLeft__0から国名に変更します。,同様にLeft__1からに,Top__0からに,Valueから移民数に変更します
6.列のデータ型を変更する
移民数のデータ型をtextからfloatに変更します
7.編集内容を保存する
[保存して閉じる]ボタンをクリックし、ノード編集を終了します

3. 条件抽出をする (条件抽出)

 

ノードへ入力されるデータ(15,312)
 
国名 移民数
Aruba 1960  
Aruba 1961  
Aruba 1962 -4323
Aruba 1963  
Aruba 1964  
Aruba 1965  
Aruba 1966  
Aruba 1967 -4275
Aruba 1968  
Aruba 1969  
Aruba 1970  
Aruba 1971  
Aruba 1972 -3537
Aruba 1973  
ノードから出力されるデータ(2,628)
 
国名 移民数
Aruba 1962 -4323
Aruba 1967 -4275
Aruba 1972 -3537
Aruba 1977 -5470
Aruba 1982 -1921
Aruba 1987 -5194
Aruba 1992 14218
Aruba 1997 6926
Aruba 2002 6263
Aruba 2007 -441
Aruba 2012 1253
Afghanistan 1962 -20000
Afghanistan 1967 -20000
Afghanistan 1972 -20000
1.条件抽出ノードを配置する
ノードパネルから条件抽出ノードをクリックして選択します。クリック後、フローシート上で配置したい場所にカーソルを合わせ、再びクリックします
2.ノードを接続する
データを処理する順番にノードを接続する必要がありますが、接続方法には2つあります

3.ノード編集画面を開く
ノードをクリックすると、選択パネルが表示されます、編集するをクリックすると編集画面が表示されます

4.抽出条件を書き込む
下記の条件式を書き込みます。列名を引用する場合には [列目] のように列名をで囲みます
5.編集内容を保存する
[保存して閉じる]ボタンをクリックし、ノード編集を終了します

4. 条件抽出をする (条件抽出)

 

ノードへ入力されるデータ(2,628)
 
国名 移民数
Aruba 1962 -4323
Aruba 1967 -4275
Aruba 1972 -3537
Aruba 1977 -5470
Aruba 1982 -1921
Aruba 1987 -5194
Aruba 1992 14218
Aruba 1997 6926
Aruba 2002 6263
Aruba 2007 -441
Aruba 2012 1253
Afghanistan 1962 -20000
Afghanistan 1967 -20000
Afghanistan 1972 -20000
ノードから出力されるデータ(121)
 
国名 移民数
East Asia & Pacific (excluding high income) 1962 -1290120
East Asia & Pacific (excluding high income) 1967 -871549
East Asia & Pacific (excluding high income) 1972 -1305615
East Asia & Pacific (excluding high income) 1977 -1526815
East Asia & Pacific (excluding high income) 1982 -700822
East Asia & Pacific (excluding high income) 1987 -657805
East Asia & Pacific (excluding high income) 1992 -2868246
East Asia & Pacific (excluding high income) 1997 -1160763
East Asia & Pacific (excluding high income) 2002 -5197875
East Asia & Pacific (excluding high income) 2007 -6826251
East Asia & Pacific (excluding high income) 2012 -3400344
Europe & Central Asia (excluding high income) 1962 -127364
Europe & Central Asia (excluding high income) 1967 319679
Europe & Central Asia (excluding high income) 1972 -551114
1.条件抽出ノードを配置する
ノードパネルから条件抽出ノードをクリックして選択します。クリック後、フローシート上で配置したい場所にカーソルを合わせ、再びクリックします
2.ノードを接続する
データを処理する順番にノードを接続する必要がありますが、接続方法には2つあります

3.ノード編集画面を開く
ノードをクリックすると、選択パネルが表示されます、編集するをクリックすると編集画面が表示されます

4.抽出条件を書き込む
下記の条件式を書き込みます。列名を引用する場合には [列目] のように列名をで囲みます
5.編集内容を保存する
[保存して閉じる]ボタンをクリックし、ノード編集を終了します

5. 条件抽出をする (条件抽出)

low income -$1,005 lower middle income $1,006- $3,955 upper middle income $3,956 - $12,235; high-income $12,236 -

ノードへ入力されるデータ(121)
 
国名 移民数
East Asia & Pacific (excluding high income) 1962 -1290120
East Asia & Pacific (excluding high income) 1967 -871549
East Asia & Pacific (excluding high income) 1972 -1305615
East Asia & Pacific (excluding high income) 1977 -1526815
East Asia & Pacific (excluding high income) 1982 -700822
East Asia & Pacific (excluding high income) 1987 -657805
East Asia & Pacific (excluding high income) 1992 -2868246
East Asia & Pacific (excluding high income) 1997 -1160763
East Asia & Pacific (excluding high income) 2002 -5197875
East Asia & Pacific (excluding high income) 2007 -6826251
East Asia & Pacific (excluding high income) 2012 -3400344
Europe & Central Asia (excluding high income) 1962 -127364
Europe & Central Asia (excluding high income) 1967 319679
Europe & Central Asia (excluding high income) 1972 -551114
ノードから出力されるデータ(44)
 
国名 移民数
High income 1962 4236206
High income 1967 4489669
High income 1972 7769421
High income 1977 7587512
High income 1982 6798831
High income 1987 8858526
High income 1992 11221842
High income 1997 14474528
High income 2002 18205159
High income 2007 22406712
High income 2012 15891250
Low income 1962 -516251
Low income 1967 -75494
Low income 1972 -1286637
1.条件抽出ノードを配置する
ノードパネルから条件抽出ノードをクリックして選択します。クリック後、フローシート上で配置したい場所にカーソルを合わせ、再びクリックします
2.ノードを接続する
データを処理する順番にノードを接続する必要がありますが、接続方法には2つあります

3.ノード編集画面を開く
ノードをクリックすると、選択パネルが表示されます、編集するをクリックすると編集画面が表示されます

4.指定した値だけを抽出
国名の全体のチェックボックスを外し、全ての値を削除した上で、High income,Low income,Lower middle income,Upper middle incomeをチェックし、残る値を指定します
5.編集内容を保存する
[保存して閉じる]ボタンをクリックし、ノード編集を終了します

6. グラフを作成する (世界の移民数)

low income -$1,005 lower middle income $1,006- $3,955 upper middle income $3,956 - $12,235; high-income $12,236 -

ノードへ入力されるデータ(44)
 
国名 移民数
High income 1962 4236206
High income 1967 4489669
High income 1972 7769421
High income 1977 7587512
High income 1982 6798831
High income 1987 8858526
High income 1992 11221842
High income 1997 14474528
High income 2002 18205159
High income 2007 22406712
High income 2012 15891250
Low income 1962 -516251
Low income 1967 -75494
Low income 1972 -1286637
ノードから出力されるデータ(0)
 
1.グラフノードを配置する
ノードパネルからグラフノードをクリックして選択します。クリック後、フローシート上で配置したい場所にカーソルを合わせ、再びクリックします
2.ノードを接続する
データを処理する順番にノードを接続する必要がありますが、接続方法には2つあります

3.編集画面を開く
ノードをクリックすると、選択パネルが表示されます、編集するをクリックすると編集画面が表示されます


4.横軸の列を選択する
を横軸として選択します
5.縦軸の列を選択する
移民数を縦軸として選択します
6.グラフ内で別系列に分けるための列を選択する
国名を同じグラフ内で別の系列に分けるデータとして選択します
7.積み上げグラフにする
グラフの値が積み上げになるようにチェックします。
8.グラフの種類を選択する
グラフの種類を選択していきます。 High income棒グラフLow income棒グラフLower middle income棒グラフLow & middle income棒グラフMiddle income棒グラフUpper middle income棒グラフ を選択します
9.グラフ全体のサイズを変更する
グラフのサイズとして、480_960 を選択します
10.グラフタイトルを設定する
グラフタイトルに 世界の移民数/5年を入力します。
11.凡例を設定する
凡例の表示位置として right を選択します。
12.編集内容を保存する
[保存して閉じる]ボタンをクリックし、ノード編集を終了します