choroplethr - Vignettes - e) 国家単位のコロプレス図

Rのパッケージ`choroplethr`のビネットの翻訳です．
( 原文: http://cran.r-project.org/web/packages/choroplethr/index.html )

* a) [イントロダクション](http://qiita.com/nakamichi/items/23730349f31a377fb071)
* b) [アメリカの州単位コロプレス図](http://qiita.com/nakamichi/items/b8267674b610ef6e1cab)
* c) [アメリカの郡単位コロプレス図](http://qiita.com/nakamichi/items/2f63dcfb7b1cc407d87c)
* d) [アメリカの郵便番号に基づく地図](http://qiita.com/nakamichi/items/889d3883e9b2ff8e2cdf)
* e) [国家単位のコロプレス図](http://qiita.com/nakamichi/items/5090b4dadeed42c2e13c)
* f) [国勢調査の地図](http://qiita.com/nakamichi/items/de929da9335f96f6468c)
* g) [世界銀行データの地図](http://qiita.com/nakamichi/items/66fa782bb3104dd815bf)
* h) [コロプレス図の動画](http://qiita.com/nakamichi/items/02ca0f678933405cf18f)
* i) [自分の地図を作る](http://qiita.com/nakamichi/items/99ff93769f4f67b97d18)
* j) [行政区画レベル1の地図を作る](http://qiita.com/nakamichi/items/8fde40a12c6aca2abbd3)

----------

# e) 国家単位のコロプレス図 #

`country_choropleth`関数で国のコロプレス図を作成することができます．

```{r}
library(choroplethr)

?df_pop_country
data(df_pop_country)

?country_choropleth
country_choropleth(df_pop_country)
```

```{r}
## Warning in self$bind(): The following regions were missing and are being
## set to NA: namibia, western sahara, taiwan, antarctica, kosovo
```

![pop-country.png](https://qiita-image-store.s3.amazonaws.com/0/58917/b60c819c-89a8-c046-e098-74c59d06c3ca.png)

上で示したように，`country_choropleth`に必須の引数はデータフレームだけです．
オプション引数は`?country_choropleth`とタイプすれば見ることができます．

この地図は`choroplethr`の新たな機能の例示になっています．
"value"がない場合（南極の人口って何人でしょうか？），その地域は黒く表示されます


## データ要件 ##

`country_choropleth`関数に渡すデータフレームは"region"と"value"という名前の列を持っている必要があります．
"region"列の要素は`choroplethr`が使用している地図の地域名と**厳密に**一致している必要があります．
これらの地域名は`country.regions`オブジェクトで定義されています．


```{r}
library(choroplethrMaps)

?country.regions
data(country.regions)
head(country.regions)
```

```{r}
##        region iso2c
## 1 afghanistan    AF
## 2      angola    AO
## 3  azerbaijan    AZ
## 4     moldova    MD
## 5  madagascar    MG
## 6      mexico    MX
```

`choroplethr`を使用するには，`country.regions`の"region"列の命名規則に従わなければなりません．
つまり，アルファベット小文字でフルネームの国名を使う必要があります．


## データの探索 ##

`country_choropleth` 関数にはデータの探索を助ける二つの引数が用意されています．`num_colors`と`zoom`引数です．
`num_colors`の値はデフォルトでは7です．これは7種類の色が使用され，それぞれの色で等しい数の州が塗り分けられるということです．
`num_colors`の有効な値は1から7の間の整数です．
`num_colors`が1の場合は連続的なカラースケールが使用されます．
`zoom`はデフォルトでは`NULL`であり，全ての州が表示されます．
`zoom`には有効な州の名前のベクトルを指定することができます．

例として，`choroplethr`でアメリカ，カナダ，メキシコの人口を表示してみましょう．


```{r}
country_choropleth(df_pop_country,
                 title      = "2012 Population Estimates",
                 legend     = "Population",
                 num_colors = 1,
                 zoom       = c("united states of america", "mexico", "canada"))
```

![pop-country-zoom.png](https://qiita-image-store.s3.amazonaws.com/0/58917/c599658a-4438-05af-dabd-114de14fb12a.png)


## 高度なオプション ##

上で例示したオプション引数によるカスタマイズ以上のことがしたい場合は，
`CountryChoropleth`オブジェクトを作成する必要があります．
`choroplethr`はオブジェクト指向プログラミングを活用するために`R6`を使っています．
以下の例ではパレットをカスタマイズするために`Choropleth`基底オブジェクトを
`ggplot2_scale`を使って拡張しています．


```
library(ggplot2)

choro = CountryChoropleth$new(df_pop_country)
choro$title = "2012 Population Estimates2012 Election Results"
choro$ggplot_scale = scale_fill_brewer(name="Population", palette=2)
choro$render()
```

```
## Warning in self$bind(): The following regions were missing and are being
## set to NA: namibia, western sahara, taiwan, antarctica, kosovo
```

![pop-country-green.png](https://qiita-image-store.s3.amazonaws.com/0/58917/701869a5-11a9-fcf8-f332-c7a34ba57431.png)