Rのパッケージchoroplethr
のビネットの翻訳です.
( 原文: http://cran.r-project.org/web/packages/choroplethr/index.html )
- a) イントロダクション
- b) アメリカの州単位コロプレス図
- c) アメリカの郡単位コロプレス図
- d) アメリカの郵便番号に基づく地図
- e) 国家単位のコロプレス図
- f) 国勢調査の地図
- g) 世界銀行データの地図
- h) コロプレス図の動画
- i) 自分の地図を作る
- j) 行政区画レベル1の地図を作る
d) アメリカの郵便番号に基づく地図
zip_map
関数によってアメリカの郵便番号を可視化することができます.
library(choroplethr)
?df_pop_zip
data(df_pop_zip)
?zip_map
zip_map(df_pop_zip)
上で示したように,zip_map
に必須の引数はデータフレームだけです.
オプション引数は?zip_map
とタイプすれば見ることができます.
この地図は散布図であり,各点は郵便番号に対応する緯度と経度を表していることに注意してください.
また,州の境界は描かれていますが,それぞれの郵便番号に属する地域の境界は描かれていないため,この図は正式にはコロプレス図ではありません.
データ要件
zip_map
関数に渡すデータフレームは"region"と"value"という名前の列を持っている必要があります.
"region"列の要素はzipcode
パッケージの郵便番号と厳密に一致している必要があります.
というのはchoroplethr
は緯度と経度をzipcode
パッケージから取得しているからです.
library(zipcode)
?zipcode
data(zipcode)
head(zipcode)
## zip city state latitude longitude
## 1 00210 Portsmouth NH 43.0059 -71.0132
## 2 00211 Portsmouth NH 43.0059 -71.0132
## 3 00212 Portsmouth NH 43.0059 -71.0132
## 4 00213 Portsmouth NH 43.0059 -71.0132
## 5 00214 Portsmouth NH 43.0059 -71.0132
## 6 00215 Portsmouth NH 43.0059 -71.0132
要するに,5桁の郵便番号を使用する必要があります
データの探索
zip_map
関数にはデータの探索を助ける二つの引数が用意されています.buckets
とzoom
引数です.
buckets
の値はデフォルトでは7です.これは7種類の色が使用され,それぞれの色で等しい数の郡が塗り分けられるということです.
buckets
が1の場合は連続的なカラースケールが使用されます.
zoom
はデフォルトではNULL
であり,全ての郡が表示されます.
zoom
には有効な州の名前のベクトルを指定することができます.
州の名前はstate.regions
オブジェクトの"region"列で定義されているものを使用する必要があります.
例として,choroplethr
でアメリカ西海岸の郵便番号に対応する地域の人口を表示してみましょう.
zip_map(df_pop_zip,
title = "2012 Population Estimates",
legend = "Population",
buckets = 1,
zoom = c("california", "washington", "oregon"))
高度なオプション
上で例示したオプション引数によるカスタマイズ以上のことがしたい場合は,ZipMap
オブジェクトを作成する必要があります.
choroplethr
はオブジェクト指向プログラミングを活用するためにR6
を使っています.
以下の例ではパレットをカスタマイズするためにChoropleth
基底オブジェクトを
ggplot2_scale
を使って拡張しています.
library(ggplot2)
choro = ZipMap$new(df_pop_zip)
choro$title = "2012 Population Estimates"
choro$ggplot_scale = scale_color_brewer(name="Population", palette=2)
choro$render()