【R】栃木県の人口別コロプレス図

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

Add a Comment

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