【R】高知県の人口別コロプレス図

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

Add a Comment

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