【R】群馬県の人口別コロプレス図

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

library(ggplot2)
library(ggrepel)
library(sf)
library(tidyvers)
library(kableExtra)

map <- read_sf("shp/h27ka10.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
市区町村 人口
みどり市 50906
みなかみ町 19347
安中市 58531
伊勢崎市 208814
下仁田町 7564
甘楽町 13200
館林市 76667
吉岡町 21080
玉村町 36654
桐生市 114714
高崎市 370884
高山村 3674
渋川市 78391
昭和村 7347
沼田市 48676
上野村 1230
榛東村 14329
神流町 1954
千代田町 11318
川場村 3647
前橋市 336154
草津町 6518
太田市 219807
大泉町 41202
中之条町 16850
長野原町 5536
嬬恋村 9780
東吾妻町 14033
藤岡市 65708
南牧村 1979
板倉町 15015
富岡市 49746
片品村 4390
明和町 11044
邑楽町 26426

Add a Comment

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