Rのパッケージchoroplethr
のビネットの翻訳です.
( 原文: http://cran.r-project.org/web/packages/choroplethr/index.html )
- a) イントロダクション
- b) アメリカの州単位コロプレス図
- c) アメリカの郡単位コロプレス図
- d) アメリカの郵便番号に基づく地図
- e) 国家単位のコロプレス図
- f) 国勢調査の地図
- g) 世界銀行データの地図
- h) コロプレス図の動画
- i) 自分の地図を作る
- j) 行政区画レベル1の地図を作る
c) アメリカの郡単位コロプレス図
county_choropleth
関数でアメリカの郡単位のコロプレス図を作成することができます.
library(choroplethr)
?df_pop_county
data(df_pop_county)
?county_choropleth
county_choropleth(df_pop_county)
上で示したように,county_choropleth
に必須の引数はデータフレームだけです.
オプション引数は?county_choropleth
とタイプすれば見ることができます.
データ要件
county_choropleth
関数に渡すデータフレームは"region"と"value"という名前の列を持っている必要があります.
"region"列の要素はchoroplethr
が使用している地図の地域名と厳密に一致している必要があります.
これらの地域名はcounty.regions
オブジェクトで定義されています.
library(choroplethrMaps)
?county.regions
data(county.regions)
head(county.regions)
## region county.fips.character county.name state.name
## 1 1001 01001 autauga alabama
## 36 1003 01003 baldwin alabama
## 55 1005 01005 barbour alabama
## 15 1007 01007 bibb alabama
## 2 1009 01009 blount alabama
## 16 1011 01011 bullock alabama
## state.fips.character state.abb
## 1 01 AL
## 36 01 AL
## 55 01 AL
## 15 01 AL
## 2 01 AL
## 16 01 AL
choroplethr
を使用するためには,county.regions
の"region"列の命名規則に従わなければなりません.
つまり,FIPS(連邦情報処理標準)の郡コードの数値(先頭のゼロを省いたもの)を使用する必要があります.
データの探索
county_choropleth
関数にはデータの探索を助ける三つの引数が用意されています.
num_colors
とstate_zoom
,county_zoom
引数です.
num_colors
の値はデフォルトでは7です.これは7種類の色が使用され,それぞれの色で等しい数の郡が塗り分けられるということです.
num_colors
が1の場合は連続的なカラースケールが使用されます.
state_zoom
とcounty_zoom
はともにデフォルトではNULL
であり,全ての郡が表示されます.
州単位のズームの例として,choroplethr
でアメリカ西海岸の郡の人口を表示してみましょう.外れ値はロサンゼルス郡です.
county_choropleth(df_pop_county,
title = "2012 Population Estimates",
legend = "Population",
num_colors = 1,
state_zoom = c("california", "washington", "oregon"))
郡単位のズームの例として,サンフランシスコ沿岸部の9郡の人口を表示してみましょう.
# FIPS codes for Alameda, Contra Costa, Marin, Napa, San Francisco, San Mateo, Santa Clara,
# Solano, and Sonoma counties
bay_area_counties = c(6001, 6013, 6041, 6055, 6075, 6081, 6085, 6095, 6097)
county_choropleth(df_pop_county,
title = "2012 Population Estimates",
legend = "Population",
num_colors = 1,
county_zoom = bay_area_counties)
高度なオプション
上で例示したオプション引数によるカスタマイズ以上のことがしたい場合は,
CountyChoropleth
オブジェクトを作成する必要があります.
choroplethr
はオブジェクト指向プログラミングを活用するためにR6
を使っています.
以下の例ではパレットをカスタマイズするためにChoropleth
基底オブジェクトを
ggplot2_scale
を使って拡張しています.
library(ggplot2)
choro = CountyChoropleth$new(df_pop_county)
choro$title = "2012 Population Estimates"
choro$ggplot_scale = scale_fill_brewer(name="Population", palette=2)
choro$render()
注意: CountyChoropleth
オブジェクトに手動でスケールを設定するときは注意が必要です.特に,choroplethr
ではアラスカとハワイを地図に差し込むためにggplot2
のカスタムアノテーションを使用しているので,以下の手順に従わないと地図の主要部分と差し込み部分のスケールが一致しません.
-
離散的なスケールの場合は,上の例のようにdrop=FALSE引数をスケールの関数に渡してください.
-
連続的なスケールの場合は,データセット全体の最小値と最大値を含んだlimits引数を渡してください.