【R】宮城県の人口別コロプレス図

宮城県の市区町村を人口別に塗りつぶしてみます。境界の描画は「地図で見る統計(統計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

Add a Comment

メールアドレスが公開されることはありません。