knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
library(jpstat) library(dplyr)
jpstatでは,e-Stat APIのメタ情報取得 (getMetaInfo) と統計データ取得 (getStatsData) を用いて,統計表をダウンロードが可能です.
e-Statでは,統計表ごとに統計表ID (statsDataId) が付与されています.統計表IDは, データセット情報ページ (例1) や 統計表・グラフ表示ページ (例2) のURLからも取得することが可能です.
ここでは,例2に挙げた国勢調査データを対象として, 2010・2015年の東京都・大阪府における男女別人口を取得します.
まず,estat()
関数に,appIdとデータセット情報ページなどのURLまたは統計表ID (statsDataId) を入力してメタ情報 (統計データの属性情報) を取得します.
# 国勢調査 データセット情報ページ URL census <- estat(appId = "Your e-Stat appId", statsDataId = "https://www.e-stat.go.jp/dbview?sid=0003413949") census
# 国勢調査 データセット情報ページ URL census <- estat(appId = keyring::key_get("estat-api"), statsDataId = "https://www.e-stat.go.jp/dbview?sid=0003413949") census
当該データには,tab
,cat01
,area
, time
の4種類の列 (以下,キーと呼びます) が存在します.
それぞれのキーには以下の情報が記載されています.
tab
など)[2]
など)<code, name, level, unit>
など)ここからは,それぞれのキーごとに列名・アイテム数・属性を変更する方法を説明します.
それぞれのキーの情報を変更するためには,activate()
関数を用いてキーを選択します.
例えば,以下のようにtab
キーをアクティブにします.
census |> activate(tab) # Or census |> activate(1)
キーをアクティブにすると当該キーのアイテム情報が表示されます.
さらに,filter()
関数やselect()
関数を用いてアイテム情報の絞り込みなどが可能です.
ここでは,「人口」のみを選択します.
census <- census |> activate(tab) |> filter(name == "人口") |> # アイテム数が1つのみであるため列を全て削除 select()
次に,cat01
の「男,女及び総数2015」を選択します.rekey()
関数によってキーの名称cat01
を変更することが可能です(ここではsex
).
キーの名称を変更することでデータダウンロード時の列名を指定ことができます.
また,上と同様に属性の絞り込みを行います.
ここでは,name
列を選択します.
census <- census |> activate(cat01) |> rekey("sex") |> filter(name %in% c("男", "女")) |> select(name)
上と同様に,area
(「地域2015」)とtime
(「時間軸(調査年)」)の名称変更・属性絞り込みを行います.
census <- census |> activate(area) |> rekey("pref") |> filter(name %in% c("東京都", "大阪府")) |> select(code, name) |> activate(time) |> rekey("year") |> filter(name %in% c("2010年", "2015年")) |> select(name)
以上の操作により,以下のように列名・アイテム数・属性が変更できました.
census
最後に,collect()
関数を用いてデータをダウンロードします.
collect()
関数のn
で値の名称を指定します.
census <- census |> collect(n = "pop") knitr::kable(census)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.