各エリアに値付きのleaflet objectを作成できる大変便利なパッケージの紹介です。凡例の区切り値を簡単に設定できます。
パッケージバージョンは2.0.0。実行コマンドはwindows 11のR version 4.1.3で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール
install.packages("valuemap")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み
library("valuemap")
###データ例の作成#####
#「tidyverse」パッケージの読み込み
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
#「sf」パッケージの読み込み
if(!require("sf", quietly = TRUE)){
install.packages("sf");require("sf")
}
library("tcltk")
#https://www.karada-good.net/analyticsr/r-594/より
#ダウンロードしたJPNPref.shpを読み込み
load(paste0(as.character(tkgetOpenFile(title = "ファイルを選択",
filetypes = '{"ファイル" {".*"}}',
initialfile = c("*.*")))))
#classを"sf","data.frame"に変換
JPNPref_SF <- as(JPNPref, "sf") %>%
st_union(by_feature = TRUE)
#classを確認
class(JPNPref_SF)
#作成:列名をname,value,geometryにする
set.seed(1234)
TestData <- JPNPref_SF %>%
select(name_local, geometry) %>%
mutate(value = sample(1:47, 47)) %>%
rename(name = name_local)
########
#値付きのleaflet objectを作成:valuemapコマンド
#表示地図の設定:mapオプション;leaflet::providersで確認
#凡例の区切り値を設定:legend.cutオプション;ベクトルで指定
#色パレットを指定:paletteオプション
#値の色:text.colorオプション
#値を表示:show.textオプション;TRUE/FALSE
#値のフォーマットを指定:text.formatオプション;初期値:function(x) x
valuemap(data = TestData, map = "Hydda",
legend.cut = c(5, 20), palette = "YlOrRd", text.color = "black",
show.text = TRUE, text.format = function(x) paste0(x, "番"))
出力例
インタラクティブに操作が可能です。
少しでも、あなたの解析が楽になりますように!!