【R】宮城県の人口別コロプレス図
2020年8月7日
宮城県の市区町村を人口別に塗りつぶしてみます。境界の描画は「地図で見る統計(統計GIS)」の「04000 宮城県全域 世界測地系緯度経度・Shapefile」から取得します。
library(ggplot2)
library(ggrepel)
library(sf)
library(tidyverse)
library(kableExtra)
map <- read_sf("shp/h27ka04.shp") # 宮城県のシェープファイル
dat <- map %>%
group_by(CITY_NAME) %>% # 市名でグルーピング
summarize('Pop.total' = sum(JINKO)) %>% # グループ単位で領域結合, 人口計算
mutate( # 重心計算と座標値の抽出
centroid = st_centroid(geometry),
x = st_coordinates(centroid)[, 1],
y = st_coordinates(centroid)[, 2]
) %>%
arrange(desc(Pop.total))
dat %>%
ggplot() +
geom_sf(aes(fill = Pop.total)) + # 人口毎に色分け
coord_sf(datum = NA) +
scale_fill_viridis_c(alpha = 0.6) +
theme_void()+
geom_text_repel(aes(x = x, y = y, label = CITY_NAME), col="black",
family = "JP4", size = 3)
table_df<-data.frame(市区町村=dat$CITY_NAME, 人口=dat$Pop.total)
library(clipr)
table_df %>%
kable(align = "c", row.names=FALSE) %>%
kable_styling(full_width = F) %>%
column_spec(1, bold = T) %>%
collapse_rows(columns = 1, valign = "middle") %>%
write_clip

| 市区町村 | 人口 |
|---|---|
| 青葉区 | 310183 |
| 太白区 | 226855 |
| 泉区 | 216798 |
| 宮城野区 | 194825 |
| 石巻市 | 147214 |
| 若林区 | 133498 |
| 大崎市 | 133391 |
| 登米市 | 81959 |
| 名取市 | 76668 |
| 栗原市 | 69906 |
| 気仙沼市 | 64988 |
| 多賀城市 | 62096 |
| 塩竈市 | 54187 |
| 富谷町 | 51591 |
| 岩沼市 | 44678 |
| 柴田町 | 39525 |
| 東松島市 | 39503 |
| 利府町 | 35835 |
| 白石市 | 35272 |
| 亘理町 | 33589 |
| 角田市 | 30180 |
| 大和町 | 28244 |
| 美里町 | 24852 |
| 大河原町 | 23798 |
| 加美町 | 23743 |
| 七ヶ浜町 | 18652 |
| 涌谷町 | 16701 |
| 松島町 | 14421 |
| 丸森町 | 13972 |
| 南三陸町 | 12370 |
| 蔵王町 | 12316 |
| 山元町 | 12315 |
| 村田町 | 11501 |
| 川崎町 | 9167 |
| 大郷町 | 8370 |
| 色麻町 | 7238 |
| 女川町 | 6334 |
| 大衡村 | 5703 |
| 七ヶ宿町 | 1461 |