LoginSignup
2
2

More than 5 years have passed since last update.

choroplethr - Vignettes - d) アメリカの郵便番号に基づく地図

Last updated at Posted at 2014-12-09

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


d) アメリカの郵便番号に基づく地図

zip_map関数によってアメリカの郵便番号を可視化することができます.

library(choroplethr)

?df_pop_zip
data(df_pop_zip)

?zip_map
zip_map(df_pop_zip)

us-zip-pop.png

上で示したように,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 関数にはデータの探索を助ける二つの引数が用意されています.bucketszoom引数です.
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"))

us-zip-pop-zoom.png

高度なオプション

上で例示したオプション引数によるカスタマイズ以上のことがしたい場合は,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()

us-zip-pop-green.png

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2