HABITAT of RETICENT RIBBITTER by YAMAGUCHI Yuhei (山口侑平) - Tohoku University

《HABITAT of RETICENT RIBBITTER》

ヘッダー写真

{simplecensus}の使い方

 {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人暮らしの世帯の割合」を作ります.
  • [変数名対応表]

  • smc.AREA: 面積(m^2)
  • smc.population: 人口(人)
  • smc.population_density: 人口密度(人/m^2)
  • smc.population_male: 男性人口(人)
  • smc.population_female: 女性人口(人)
  • smc.population{m}_{n}: m歳-n歳人口(人)
  • smc.population_male{m}_{n}: 男性m歳-n歳人口(人)
  • smc.population_female{m}_{n}: 女性m歳-n歳人口(人)
  • smc.households: 世帯数(世帯)
  • smc.households{n}: n人暮らし世帯数数
  • smc.population_per_households: 世帯あたりの平均人数(人)
  • smc.households_relatives: 親族のみの世帯数(世帯)
  • smc.households_core: 核家族世帯数(世帯)
  • smc.households_couple: 核家族世帯数のうち夫婦のみ世帯数(世帯)
  • smc.households_couple_children: 核家族世帯数のうち夫婦と子供からなる世帯数(世帯)
  • smc.households_under_6: 6歳未満の世帯員がいる世帯数(世帯)
  • smc.households_under_18: 18歳未満の世帯員がいる世帯数(世帯)
  • smc.households_over_65: 65歳以上の世帯員がいる世帯数(世帯)
  • smc.households_own: 持ち家に住む世帯数(世帯)
  • smc.households_rent: 民営借家に住む世帯数(世帯)
  • smc.households_detatched: 一戸建て世帯数(世帯)
  • smc.households_tenement: 長屋世帯数(世帯)
  • smc.households_communal{m}_{n}: {m}-{n}階建共同住宅世帯数(世帯)
  • smc.worker_15: 産業別15歳以上就業者
  • smc.industry_A: 農業・林業従事者数(人)
  • smc.industry_B: 漁業従事者数(人)
  • smc.industry_C: 鉱業、採石業、砂利採取業従事者数(人)
  • smc.industry_D: 建設業従事者数(人)
  • smc.industry_E: 製造業従事者数(人)
  • smc.industry_F: 電気・ガス・熱供給・水道業従事者数(人)
  • smc.industry_G: 情報通信業従事者数(人)
  • smc.industry_H: 運輸業、郵便業従事者数(人)
  • smc.industry_I: 卸売業、小売業従事者数(人)
  • smc.industry_J: 金融業、保険業従事者数(人)
  • smc.industry_K: 不動産業、物品賃貸業 従事者数(人)
  • smc.industry_L: 学術研究、専門・技術サービス業従事者数(人)
  • smc.industry_M: 宿泊業、飲食サービス業従事者数(人)
  • smc.industry_N: 生活関連サービス業、娯楽業従事者数(人)
  • smc.industry_O: 教育、学習支援業従事者数(人)
  • smc.industry_P: 医療、福祉従事者数(人)
  • smc.industry_Q: 複合サービス事業従事者数(人)
  • smc.industry_R: サービス業(他に分類されないもの) 従事者数(人)
  • smc.industry_S: 公務(他に分類されるものを除く) 従事者数(人)
  • smc.industry_T: 分類不能の産業 従事者数(人)
  • smc.employer: 雇用者数(人)
  • smc.self_employed: 自営業者数(人)
  • smc.family_worker: 家族従業者(人)
  • smc.sector_all: 職業別就業者総数(人)
  • smc.sector_A: 管理的職業従事者数(人)
  • smc.sector_B: 専門的・技術的職業従事者数(人)
  • smc.sector_C: 事務従事者数(人)
  • smc.sector_D: 販売従事者数(人)
  • smc.sector_E: サービス職業従事者数(人)
  • smc.sector_F: 保安職業従事者数(人)
  • smc.sector_G: 農林漁業従事者数(人)
  • smc.sector_H: 生産工程従事者数(人)
  • smc.sector_I: 輸送・機械運転従事者数(人)
  • smc.sector_J: 建設・採掘従事者数(人)
  • smc.sector_K: 運搬・清掃・包装等従事者数(人)
  • smc.sector_L: 分類不能の職業数(人)
  • smc.primary: 農林漁業就業者世帯数(世帯)
  • smc.primary_other: 農林漁業・非農林漁業就業者混合世帯数(世帯)
  • smc.not_primary: 非農林漁業就業者世帯数(世帯)
  • smc.unemployed: 非就業者世帯(世帯)
  • smc.per.{hoge}: hogeがhogeの母数に占める割合
  • [謝辞]

  • kei様より,このパッケージの改善点やアドバイスをいただきました.ありがとうございます!
  • Email: yuhei.yamaguchi.t1@dc.tohoku.ac.jp
    𝕏    Instagram    Github    RPubs