【R】青森県の人口別コロプレス図

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

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


map <- read_sf("shp/h27ka02.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() +
  annotation_map_tile(zoomin = 0) +
  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) +
  labs(caption = "\U00a9 OpenStreetMap contributors") +
  theme_minimal()


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
市区町村 人口
青森市 287648
八戸市 231257
弘前市 177411
十和田市 63429
むつ市 58493
五所川原市 55181
三沢市 40196
黒石市 34284
つがる市 33316
平川市 32106
おいらせ町 24222
南部町 18312
東北町 17955
五戸町 17433
七戸町 15709
藤崎町 15179
階上町 14025
板柳町 13935
野辺地町 13524
鶴田町 13392
中泊町 11187
平内町 11142
六ヶ所村 10536
六戸町 10423
三戸町 10135
鰺ヶ沢町 10126
大鰐町 9676
深浦町 8429
田舎館村 7783
東通村 6607
外ヶ浜町 6198
田子町 5554
大間町 5227
横浜町 4535
蓬田村 2896
今別町 2756
新郷村 2509
佐井村 2148
風間浦村 1976
西目屋村 1415

Add a Comment

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