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

| 市区町村 | 人口 |
|---|---|
| 高知市 | 337190 |
| 南国市 | 47982 |
| 四万十市 | 34313 |
| 香南市 | 32961 |
| 香美市 | 27513 |
| 土佐市 | 27038 |
| いの町 | 22767 |
| 須崎市 | 22606 |
| 宿毛市 | 20907 |
| 安芸市 | 17577 |
| 四万十町 | 17325 |
| 土佐清水市 | 13778 |
| 室戸市 | 13524 |
| 佐川町 | 13114 |
| 黒潮町 | 11217 |
| 中土佐町 | 6840 |
| 越知町 | 5795 |
| 津野町 | 5794 |
| 仁淀川町 | 5551 |
| 大月町 | 5095 |
| 日高村 | 5030 |
| 土佐町 | 3997 |
| 大豊町 | 3962 |
| 芸西村 | 3858 |
| 檮原町 | 3608 |
| 本山町 | 3573 |
| 奈半利町 | 3326 |
| 田野町 | 2733 |
| 安田町 | 2631 |
| 東洋町 | 2584 |
| 三原村 | 1574 |
| 北川村 | 1294 |
| 馬路村 | 823 |
| 大川村 | 396 |