RでJSONデータを処理する (rjson)
最近は様々なWebサービスがJSON形式のデータを提供している。これはJSONが軽量の書式で、JavaScriptを使ったWebサービスが普及しているから、JSONデータを流通させることでサービス間の連携を容易にするためだと考えられる。
そこで、ある程度のデータを集計するためにはJSONデータを上手く処理出来る必要がある。そして、僕はデータマイニングツールにRを使っている。RでJSONデータを処理するためにはどうするか。
Googleで検索して、rjsonというライブラリを見つけた。RオブジェクトとJSONデータを相互変換出来るようだ。
Rで処理するデータ例として、Google Elevation APIから取得した標高データを用いた。標高データは {位置 (緯度, 経度), 標高}の組から成る。試しに、北海道 (43.0 (北緯), 141.4 (東経))から沖縄 (26.2 (北緯), 127.7 (東経))までの直線で結ばれるパス上の標高データを取得した。
これをRとrjsonを使って、経度をX軸、標高をY軸としてプロットした。
沖縄 (東経: 127.7)が左側、北海道 (東経: 141.4)が右側になっている。日本海の深さも標高データから取得できているようだ。
JSONデータのkey名をあらかじめ知っている必要があるが、rjsonを使ってRで容易にJSONデータを処理することが出来ることが分かった。
rjsonではS4/S3形式のJSONデータを扱えないが、より新しいライブラリのRJSONIOでは扱える。またRJSONIOは拡張性を考慮している。rjsonとRJSONIOが提供するメソッドはある程度互換があるようだ。