【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()