【R】沖縄県の人口別コロプレス図

沖縄県の市区町村を人口別に塗りつぶしてみます。境界の描画は「地図で見る統計(統計GIS)」の「47000 沖縄県全域 世界測地系緯度経度・Shapefile」から取得します。

library(ggplot2)
library(ggrepel)
library(sf)
library(tidyverse)
library(kableExtra)


map <- read_sf("shp/h27ka47.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
市区町村 人口
那覇市 319435
沖縄市 139279
うるま市 118898
浦添市 114232
宜野湾市 96243
名護市 61674
豊見城市 61119
糸満市 58547
宮古島市 51186
石垣市 47564
南城市 42016
読谷村 39504
南風原町 37502
西原町 34508
八重瀬町 29066
北谷町 28308
中城村 19454
与那原町 18410
北中城村 16148
嘉手納町 13685
本部町 13536
金武町 11232
恩納村 10652
今帰仁村 9531
久米島町 7755
宜野座村 5597
国頭村 4908
伊江村 4260
竹富町 3998
大宜味村 3060
与那国町 1843
東村 1720
伊是名村 1517
南大東村 1329
伊平屋村 1238
多良間村 1194
座間味村 870
粟国村 759
渡嘉敷村 730
北大東村 629
渡名喜村 430

Add a Comment

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