本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

Rで解析:日本地図もOK!インタラクティブなテーママップ作成「mapsf.gui」パッケージの紹介

地域ごとの統計データなどを地図上に可視化する「テーママップ」の作成は、データの分析において非常に重要ですが、コードをゼロから記述するのは骨の折れる作業です。mapsf.guiは、RのmapsfパッケージをベースにしたShinyアプリケーションで、プログラミングの知識がなくても直感的な操作だけで高品質な地図を作成できます。色の変更や凡例の調整といった細かな調整を簡単におこなえるだけでなく、作成した地図のRコードを出力できるため、再現性も確保できるのが大きな強みです。初心者でも手軽に、かつ正確な空間データの可視化を実現したい場面で非常に便利なパッケージです。

パッケージバージョンは0.1.0。Windows 11 x64 (build 26200)のR version 4.6.0で確認しています。

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

下記コマンドを実行してください。

# パッケージのインストール
install.packages("mapsf.gui")
# パッケージの読み込み
library("mapsf.gui")
スポンサーリンク

コマンド例

詳細はコメント、パッケージのヘルプを確認してください。

run_app() の使用例

オプション意味初期値
data起動時に読み込むsfオブジェクトのリスト(省略可能)NULL
viewer表示先の指定。”browser”、”pane”、”dialog”のいずれか“browser”
stop_on_closeTRUEの場合、ビューアを閉じたときにアプリを停止するTRUE
# データなしでブラウザにアプリを表示
run_app()

# データなしでダイアログにアプリを表示
run_app(viewer = "dialog")

# mapsfパッケージからmtqデータを取得
mtq <- mapsf::mf_get_mtq()
# mtqデータを使用してアプリを実行
run_app(data = list(mtq = mtq))

日本地図の表示例

日本地図を表示するには、日本の行政境界データをsfオブジェクトとして用意し、data引数に渡します。紹介では「NipponMap」パッケージに収録されている都道府県シェープファイルを使用します。追加のデータダウンロードが不要で、都道府県名(name)や人口(population)などの属性も含まれているため、アプリ上でそのままコロプレス図を作成できます。なお、このシェープファイルは座標参照系(CRS)が未定義のため、読み込み後にst_crs()でWGS84(EPSG:4326)を設定する必要がある点に注意してください。

# パッケージのインストール
install.packages(c("NipponMap", "sf"))
# パッケージの読み込み
library("sf")

# NipponMapパッケージ収録の都道府県シェープファイルのパスを取得
JpnShpPath <- system.file("shapes/jpn.shp", package = "NipponMap")

# シェープファイルを読み込み
# 警告メッセージが出ますが問題なし
JpnMap <- read_sf(JpnShpPath)
# 警告メッセージ:
# CPL_read_ogr(dsn, layer, query, as.character(options), quiet,  で:
#  GDAL Message 1: C:\Users\chalu\AppData\Local\R\win-library\4.6\NipponMap\shapes\jpn.shp # contains polygon(s) with rings with invalid winding order. Autocorrecting them, but that # shapefile should be corrected using ogr2ogr for example.

# 座標参照系を設定(本シェープファイルはCRS未定義のため必須)
st_crs(JpnMap) <- 4326

# 内容を確認(name:都道府県名、population:人口 などを収録)
head(JpnMap)

# 日本地図データを渡してアプリを起動
run_app(data = list(JpnMap = JpnMap))

アプリのUIは英語(ほかフランス語・スペイン語に対応、ブラウザの言語設定から自動判定)です。起動後、Available datasetsパネルで「JpnMap」を選択し、緑色の+ボタンの「Create a layer with this dataset」でレイヤーを作成します。

次にMap layersパネルから紫色の歯車ボタンの「Layers parameters」からmf_map(…, type = ‘mypop)などを選択します。「Variable1」に「population」を指定すると、都道府県別人口に合わせてシンボルが変化します。mapsfパッケージのRコードは右上の「Generated code」パネルから表示して、コピーボタンにコピー可能です。GUIで作成した地図をスクリプトとして再現することも可能です。また、地図のエクスポートはPNG形式とSVG形式に対応しています。

いろいろと操作してみてください。

この記事が誰かの役に立ちますように。

スポンサーリンク
価格および配送状況は変更される場合があります。購入時は商品ページをご確認ください。
当サイトに表示されている商品情報はAmazonから提供されたものであり、更新または削除される場合があります。
karada-goodはAmazonアソシエイトとして、適格販売により収入を得ています。