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

| 市区町村 | 人口 |
|---|---|
| さくら市 | 44901 |
| 宇都宮市 | 518594 |
| 益子町 | 23281 |
| 塩谷町 | 11495 |
| 下野市 | 59431 |
| 高根沢町 | 29639 |
| 佐野市 | 118919 |
| 市貝町 | 11720 |
| 鹿沼市 | 98374 |
| 小山市 | 166760 |
| 上三川町 | 31046 |
| 真岡市 | 79539 |
| 壬生町 | 39951 |
| 足利市 | 149452 |
| 大田原市 | 75457 |
| 栃木市 | 159211 |
| 那珂川町 | 16964 |
| 那須烏山市 | 27047 |
| 那須塩原市 | 117146 |
| 那須町 | 24919 |
| 日光市 | 83386 |
| 芳賀町 | 15189 |
| 茂木町 | 13188 |
| 野木町 | 25292 |
| 矢板市 | 33354 |