{simplecensus}はたった1行のコードで,国勢調査の統計データとshpデータを結合したものを取得,並びに変数整形,さらにはそれぞれの変数を割合に変換したものを作成できるR言語のpackageです.
日本では5年に1度,国勢調査が行われています.
国勢調査は悉皆調査なので,日本の社会状況を正確に知るためにとても有用なデータだと考えられます.
国民の年齢や世帯人数,居住形態,従事産業などは,社会科学者にとってはかなり重要な変数です.
しかし,現状として,国勢調査データは扱いにくい状況にあると感じています.
e-Statで
国勢調査データは公開されていますが,これを手作業でひとつずつダウンロードし,結合していくのはとても骨が折れる作業です.
複雑骨折してしまいます.
国勢調査に限らず,政府統計は非常に有用なデータなのですが,なんせ取得や前処理がとても面倒です.
研究の効率を上げるためには,何かしらの機構があった方が良いと思います.
そこで生み出されたのが{simplecensus}というRパッケージです!
これさえあれば,国勢調査の一括取得,変数の整形をサクッとシンプルに実行できます.
現在は2015年と2020年データにしか対応していません.今後他の年のデータやメッシュの取得も実装する予定です.
{simplecensus}は私のGithubからインストールできます.インストールして読み込むコードは以下です.同時に依存する他のパッケージも読み込んでおきましょう.
# 必要なパッケージの読み込み
devtools::install_github("Ymgc19/simplecensus")
library(simplecensus)
library(tidyverse)
library(sf)
ためしに宮城県のデータ(2015)を読み込んでみましょう.
使う関数はsimplecensus::smc.get_census_2015()
です.
引数にはデータを取得したい都道府県のコードを指定してください.
今回は宮城県データを取得したいので,引数には宮城県のコードである4
を入れます.
以下のコードを実行するだけで,宮城県の2015年統計データと地理データが結合されたものが生成できます.また,変数の整形,割合変数の作成なども実行できます.たったの1行で!
# 宮城県のデータを取得して整形
miyagi <- smc.get_census_2020(4)
ためしに変数を描画してみましょう! ここでは「1人暮らし世帯の割合」を描画します.
# 1人暮らし世帯の割合
miyagi %>%
ggplot() +
geom_sf(
aes(fill = smc.per.households1),
color = NA
) +
scale_fill_gradient(low = "turquoise", high = "tomato") +
labs(fill = "") +
theme_minimal()
ちなみにmapview::mapview()
を使うとインタラクティブな可視化も可能です!
ぜひグリグリ触ってみてください! やはり仙台の中心の方は1人暮らし世帯が多いんですね.
library(mapview)
library(leafpop)
mapview(miyagi,
zcol = "smc.per.households1",
lwd = .025,
col.regions=rev(RColorBrewer::brewer.pal(n=8,name="Spectral")),
popup=popupTable(miyagi_census_shp[,"smc.per.households1"])
)
simplecensus::smc.read_census_2015()
やsimplecensus::smc.read_census_2020()
を使ってください.
引数にはデータを取得したい都道府県のコードを指定してください.
simplecensus::smc.read_census_shp()
の引数に取得したい都道府県のコードを指定してください.
simplecensus::smc.create_variables_2015()
やsimplecensus::smc.create_variables_2020()
関数を使用してください.
これら関数は変数を数値変数に変換すると同時に,"-"
を0
にします.
また,この関数では人口密度も計算しています.その際にそれぞれのポリゴンの面積を算出しています.
そのため,統計情報と地理情報を結合した後のデータフレームではないとエラーになります.ご注意ください.
simplecensus::smc.convert_percentage_vars_2015()
で実行できます.
この関数により,たとえば,「1人暮らしの世帯数」という変数があったとして,その変数から「全世帯数のうち1人暮らしの世帯の割合」を作ります.
Email: yuhei.yamaguchi.t1@dc.tohoku.ac.jp
𝕏
Instagram
Github
RPubs