国勢調査の小地域(町丁・字等別,ポリゴン)に人口及び人口密度を示す.応用例として,小地域を行政区域(ポリゴン)にまとめ,人口密度を示す.
ライブラリ:sf
,tidyverse
シェープファイルのダウンロード
統計地理情報システム > 境界データダウンロード > 小地域 > 国勢調査 > 2015年 > 小地域(町丁・字等別)(JGD2000) > 世界測地系緯度経度・Shapefile > 22000 静岡県全域
read_sf
:データ読込.Shizuoka_map2
と名付ける.小地域の可視化
Shizuoka_map2<-read_sf("A002005212015DDSWC22/h27ka22.shp")
#小地域の可視化
ggplot()+
geom_sf(data=Shizuoka_map2, fill="white")
参考
小地域のポリゴンは行政区域のポリゴンに比べて小さい.また,海上にもポリゴン(水面調査区)が存在する(静岡県は目立たないが,例えば神奈川県や富山県は目立つ).このことを確認するために,国土数値情報ダウンロードサービスから得られる静岡県の行政区域(ポリゴン)と比較する.なお,行政区域の青で囲まれている部分は静岡市,緑は浜松市.
小地域の人口の可視化
今回ダウンロードしたデータ(上でShizuoka_map2
と命名)には,小地域の人口(人,JINKO
),面積(㎡,AREA
)の情報も含まれる.1その他に,世帯数(SETAI
)の情報も含まれる.
aes(fill)
:示したい変数(数値データ)を指定.ここではJINKO
を指定.ggplot()+
geom_sf(data=Shizuoka_map2, aes(fill=JINKO))+
scale_fill_distiller(palette="YlGnBu",
direction=1)+
labs(fill="人")+
ggtitle("小地域人口(2015年)")+
theme_bw()
注意
人口を面積(AREA
)で割ることにより,人口密度を作成することができる.しかし,人口密度の大きな小地域は面積が小さい場合が多く,このレベルの地図に示す場合は目立たない.
小地域を行政区域にまとめて,人口密度を可視化.
水面調査区
HCODE
)で一般調査区(町丁・字等,8101
)と水面調査区(水域で水上生活者のいる
区域,8154
)に分類.そのほか,特別調査区が存在.
%>%
)を利用し,2Shizuokamap_2
の一般調査区(8101
)だけを残し(filter(HCODE==8101)
),再びShizuokamap_2
と名付ける.現在のままだと,小地域+人口のまま.これを行政区域+人口密度に変更し,可視化.
CITY
)をクループ(group_by()
)にする.summrize()
に渡し,括弧内を空欄にすると小地域が行政区域に単位でまとまる.
summrize()
の括弧内を空欄にせず,計算式を示す.sum(JINKO)
),行政区域の人口に変更し,小地域の面積を足し上げ(sum=(AREA)
),行政区域の面積にする.行政区域の総人口をPopulation
,行政区域の総面積をAreatotal
と名付ける.Density
)で示す.人/㎡はあまり使われないため,人/㎢に変更,Areatotal
を100万(1000000
)で割る(=人/㎡に100万を掛ける).Shizuokamap_2
と名付ける.
Shizuoka_map2 %>%
group_by(CITY) %>%
summarise(Population=sum(JINKO),
Areatotal=sum(AREA),
Density=Population/Areatotal*1000000) ->
Shizuoka_map2
#可視化
ggplot()+
geom_sf(data=Shizuoka_map2,
aes(fill=Density))+
scale_fill_distiller(palette="YlGnBu",
direction=1)+
labs(fill="人/㎢")+
ggtitle("行政区域人口密度(2015年)")+
theme_bw()
Rによる地理空間データの可視化
統計地理情報システムには境界データのほか統計データが用意されている.国勢調査の小地域人口は統計データ(人口総数)にも含まれているが,この数値と今回使用した小地域人口(JINKO
)が一致しない場合がある.詳細は小地域データによる人口変化の可視化を参照.↩︎
パイプ演算子(パイプ)を挟むことにより,パイプの左あるデータや結果を右にある式の1つ目の引数として渡せる.左から右へ計算を次々に加えられる便利な道具として広く利用されている.x %>% f()
はf(x)
と,x %>% f(y)
はf(x, y)
と同じ結果を得る.↩︎