Rのleafletを使ってSPSS Modelerのデータを地図にプロットする


SPSS Modelerで作ったデータを地図にプロットしたいことがあると思います。マップ視覚化のグラフ出力機能もあるのですが、ラスタデータのマップに表示することはできません。
ここではleaftletというRのライブラリとSPSS ModelerのR拡張ノードの機能を使って、OpenStreetMapにデータをプロットしてみます。

  • テスト環境
    Modeler 18.3
    Windows 10 64bit
    R 4.0.4
    leaflet 2.1.0
    FireFox 91.7.1esr

  • サンプルストリーム

1. 事前準備

1.1. SPSS ModelerのR拡張ノードを利用可能にする。

R拡張ノードのセットアップができていない場合には以下の手順でセットアップします。

SPSS Modelerの拡張ノードでRを利用する

1.2. Rにleafletを導入する

Rのコンソールを開き以下のコマンドでleafletを導入します。CRANのミラーサイトはJapanなど適当なものを選択します。

install.packages('leaflet',dependencies = TRUE)

2. Modelerのデータをプロットする

今回用意したデータは以下です。
店舗の緯度経度と売上が記録されています。

このデータに「拡張の出力」ノードを接続し、シンタックスとしてRを選び、以下のコードを入力します。

addCircleMarkersで丸形のマーカーをデータの緯度経度から表示し、売上の大きさで半径を決めています。また、labelに店舗名を入れています。

leaflet.r
library(leaflet)
m <- leaflet()
m <- addTiles(m)
m <- addCircleMarkers(m, 
	lng=modelerData$経度, 
	lat=modelerData$緯度,
	radius=modelerData$売上,
	label =modelerData$店舗)
print(m)

実行するとデフォルトのWebブラウザが開き、そこに地図が表示されます。

なお、私の環境のChrome(バージョン: 99.0.4844.51)では、以下のようにうまく表示できませんでした。URLをコピーしてFirefoxに貼り付けると表示されました。

参考

leafletではじめるRによる地図プロット

Leaflet for R - Introduction

OpenStreetMap(OSM)

SPSS Modeler ノードリファレンス 4-7 マップ視覚化 - Qiita