7
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

choroplethr - Vignettes - j) 行政区画レベル1の地図を作る

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


j) 行政区画レベル1の地図を作る

"行政区画レベル1" とは,国家の地方行政単位のうち最大のものを指す一般的な用語です.この単位は国によって名称が異なります.たとえば,アメリカでは行政区画レベル1の単位は「州(states)」と呼ばれますが,日本では「県(prefectures)」と呼ばれます.choroplethrには世界のすべての国の行政区画レベル1の地図が含まれており,これらの地図のコロプレス図を作成することができます.地図の種類について詳細を知るには次のようにタイプしてください.

library(choroplethrAdmin1)
?admin1.map

このビネットでは,choroplethrを使って日本の行政区画レベル1のコロプレス図を作成してみます.使用するデータは,日本の総務省統計局が公開している2010年の人口推計値です.

library(choroplethr)
?df_japan_census
data(df_japan_census)
head(df_japan_census)
##    region pop_2010 percent_pop_change_2005_2010 pop_density_km2_2010
## 23  aichi  7411000                          2.2               1434.8
## 5   akita  1086000                         -5.2                 93.3
## 2  aomori  1373000                         -4.4                142.4
## 12  chiba  6216000                          2.6               1205.5
## 38  ehime  1431000                         -2.5                252.1
## 18  fukui   806000                         -1.9                192.4

ステップ1: 県名が一致しているか確認する

このデータのコロプレス図を作成するためには,地図とデータの両方でどのように地域名が扱われているか理解しておく必要があります.地域名が地図とデータとで異なっている場合には,修正する必要があります.(例えば,地図では "Tōkyō" でデータでは "Tokyo" となっている場合には,地図が正しく描画されません.)

まずは国名のスペリングを見てみましょう.

head(get_admin1_countries())
## [1] "afghanistan"    "aland"          "albania"        "algeria"
## [5] "american samoa" "andorra"

この地図では日本は"japan"(すべて小文字)として記載されています.次に日本の県名がどうなっているか見てみましょう.

head(get_admin1_regions("japan"))
##      country region
## 1618   japan  aichi
## 1619   japan  akita
## 1620   japan aomori
## 1621   japan  chiba
## 1622   japan  ehime
## 1623   japan  fukui

全て小文字で,末尾に「-ken」はつかないようです.これは我々のデータと同じ記法であり,地図とデータで名前は一致していますから,次のステップに進むことができます.

日本の行政区画レベル1の地図を作成したい場合は次のようにタイプします.

admin1_map("japan")

admin-l1-jp.png

ステップ2: データを用意する

choroplethrではデータが指定の形式に従っている必要があります.データフレームは "region" と "value" という名前の列を持っていなければなりません.df_japan_censusはregion列といくつかのデータを含む列を持っていますが,valueという名前の列はありません.例として使用するために, pop_2010 列を value 列にコピーしましょう.

df_japan_census$value = df_japan_census$pop_2010

ステップ3: データを探索する

データをchoroplethrで利用する準備ができたので,admin1_choropleth関数でデータを見ることができます.

library(choroplethr)
?admin1_choropleth
admin1_choropleth(country.name = "japan",
                  df           = df_japan_census,
                  title        = "2010 Japan Population Estimates",
                  legend       = "Population",
                  num_colors   = 1)
## Warning in self$bind(): The following regions were missing and are being
## set to NA: NA

jp-pop-est-2012.png

どのコロプレス図の関数でも共通ですが,特定の地域にズームインしたり,値のスケールを変更したりすることもできます.例として,日本の関西地方を拡大して,連続的スケールで表示してみましょう.

kansai = c("mie", "nara", "wakayama", "kyoto", "osaka", "hyogo", "shiga")
admin1_choropleth(country.name = "japan",
                  df           = df_japan_census,
                  title        = "2010 Japan Population Estimates - Kansai Region",
                  legend       = "Population",
                  num_colors   = 1,
                  zoom         = kansai)

jp-kansai-pop-est-2012.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
7
Help us understand the problem. What are the problem?