estatapi パッケージを使って…
- https://www.e-stat.go.jp/mypage/login からログイン
- 「マイページ」へ移行
- 「▷API機能(アプリケーションID発行)」へ
- 「*名称」には適当な文字列を、「*URL」は http://localhost で可
- 「発行」ボタンをクリック
この結果、appid 欄に表示される文字列が「アプリケーションID;appID」である。
library(estatapi)appID <- "****************************************"dataID <- "0003312321"info <- estat_getMetaInfo(appID, dataID)
オブジェクト:info の内容は、RStudio の Environment でチェックするのがよい。
今回は「総人口(cat03/"001")」の「男女計(cat01/"000")」を抽出して、(全国分を除外し)47都道府県の潜在扶養率(ratio)を算出する。
dt <- estat_getStatsData(appID, dataID, cdCat01 = "000", cdCat03 = "001")
pop <- matrix(dt$value, nrow = 48, ncol = 19, byrow = F)
pop <- pop[-1,]
ratio <- apply(pop[,7:14], 1, sum) / apply(pop[,15:19], 1, sum)
以下は、この値をもとに、コロプレス・マップの描画。
都道府県のシェープファイルはウェブから何種類か入手できるが、ここでは三重大・奥村晴彦先生が公開されている GeoJSON形式のものを利用する(参照:シェープファイルを読む)。
library(sf)
library(dplyr)
library(ggplot2)
library(ggthemes)
jp = st_read("https://oku.edu.mie-u.ac.jp/~okumura/stat/data/japan.geojson",
stringsAsFactors = FALSE)jp$code <- as.integer(jp$code)
pref <- 1:47
dat <- data.frame(pref, ratio)
jp2 <- left_join(jp, dat, by = c("code" = "pref"))
ggplot() +
geom_sf(data = jp2,
aes(fill = cut_interval(ratio, length = 0.2)),
colour = 'grey20', size = 0.1) +
xlim(120, 150) +
scale_fill_brewer(palette = "YlOrRd",
name = "Potential\nSupport Ratio") +
theme_bw() +
theme(legend.position = c(0.85, 0.22))