【R】熊本県の人口別コロプレス図
2020年9月14日
熊本県の市区町村を人口別に塗りつぶしてみます。境界の描画は「地図で見る統計(統計GIS)」の「43000 熊本県全域 世界測地系緯度経度・Shapefile」から取得します。
library(ggplot2)
library(ggrepel)
library(sf)
library(tidyverse)
library(kableExtra)
map <- read_sf("shp/h27ka43.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

| 市区町村 | 人口 |
|---|---|
| 東区 | 190451 |
| 中央区 | 186300 |
| 北区 | 143131 |
| 南区 | 127769 |
| 八代市 | 127472 |
| 西区 | 93171 |
| 天草市 | 82739 |
| 玉名市 | 66782 |
| 宇城市 | 59756 |
| 合志市 | 58370 |
| 荒尾市 | 53407 |
| 山鹿市 | 52264 |
| 菊池市 | 48167 |
| 菊陽町 | 40984 |
| 宇土市 | 37026 |
| 人吉市 | 33880 |
| 益城町 | 33611 |
| 大津町 | 33452 |
| 阿蘇市 | 27018 |
| 上天草市 | 27006 |
| 水俣市 | 25411 |
| 芦北町 | 17661 |
| 御船町 | 17237 |
| 長洲町 | 15889 |
| あさぎり町 | 15523 |
| 山都町 | 15149 |
| 氷川町 | 11994 |
| 南阿蘇村 | 11503 |
| 錦町 | 10766 |
| 甲佐町 | 10717 |
| 美里町 | 10333 |
| 和水町 | 10191 |
| 多良木町 | 9791 |
| 南関町 | 9786 |
| 嘉島町 | 9054 |
| 苓北町 | 7739 |
| 小国町 | 7187 |
| 西原村 | 6802 |
| 高森町 | 6325 |
| 玉東町 | 5265 |
| 津奈木町 | 4673 |
| 相良村 | 4468 |
| 南小国町 | 4048 |
| 湯前町 | 3985 |
| 球磨村 | 3698 |
| 山江村 | 3422 |
| 水上村 | 2232 |
| 産山村 | 1510 |
| 五木村 | 1055 |