【R】都道府県を色塗りする

データの準備

jpndistrictパッケージのインストール

install.packages("remotes")
remotes::install_github("uribo/jpndistrict")


関数の簡単な使い方

library(jpndistrict)
pref3 <- jpn_pref(pref_code=3) # 3は岩手県のコード
pref4 <- jpn_pref(pref_code=4) # 4は宮城県のコード


district = FALSEとするとエラーが出る件

このエラーは、jpndistrictの既知の不具合の様子(by claude)。
sf_use_s2 を FALSE に設定して S2 を無効化するとよい。以下のコードを追加する。(S2って何?の状態から将来的に脱出予定) 

sf_use_s2(FALSE)


map関数を使ってpref_codeが1から47までの都道府県のデータを取得して、結合

all_prefs <- map(1:47, ~jpn_pref(pref_code = ., district = FALSE)) %>%
bind_rows() # データを結合


all_prefsをshapeファイルとして保存

sf::st_write(all_prefs, "all_prefs.shp")


shapeファイルを読み込み

test <- sf::st_read("all_prefs.shp")


グラフに表示する(継続調査中)

library(ggplot2)
ggplot(prefs, aes(x=long, y=lat, group=group)) +
  geom_polygon(aes(fill = factor(pref_code))) +
  coord_map() +
  scale_fill_brewer(palette = "Set3") +
  theme_minimal()

# 基本形はこのようなコード
ggplot() +
 geom_sf(data = all_prefs) +
 theme_minimal()


いいなと思ったら応援しよう!