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が提供するメソッドはある程度互換があるようだ。