rChartsでR言語のデータ解析結果をダイナミックに可視化しよう
近未来の技術トレンドを先取り! 「Tech-Sketch」出張所 第7回
本連載ではTIS株式会社が提供している技術ブログ「Tech-Sketch」から「コレは!」というテーマをピックアップし、加筆修正して皆様にお届けしております。今回は、最近注目が集まっている統計解析向けプログラミング言語であるR言語(以下R)、そのオープンソースパッケージであるrChartsを紹介します。データ解析を行いたい場合、Rは非常に強力なツールです。しかし、実際に出力したRのグラフの見た目については、何か物足りなさを感じます。その物足りなさを補うために、今回Rで簡単なデータ解析した結果を、rChartsでダイナミックに可視化してみたいと思います。
統計解析向けプログラミング言語Rとは?
Rはオープンソースの統計解析向けのプログラミング言語であり、その開発実行環境でもあります。統計解析に特化した言語にはSAS、SPSSなど、有償のものが多い中、Rは無償で使うことができます。その結果として、Rは多くのユーザに支持されています。
R本体や各種パッケージがダウンロードできるCRANのWebサイトでは、4,000を超えるRのパッケージが公開されています。CRAN以外で公開されているパッケージも数多くあります。これらのパッケージの多くが統計解析目的のものになり、Rユーザによる実務経験が反映した豊富なパッケージ群は、データ解析を行うにあたり、とても有益です。
例えば、R本体やパッケージの中には、回帰分析やクラスタ分析といった統計解析手法を簡単なコマンドで実行したり、グラフ描画したりするための関数が用意されています。
rChartsとは
rChartsとは、最も注目されているRの可視化パッケージの一つで、rChartsという名前から想像できる通り、Rからチャート(図表、グラフ)を扱うパッケージです。
rChartsではR上でシンプルな関数を呼び出すことで、グラフィカルでダイナミックなチャートを生成することができます。生成されたチャートはブラウザ上に表示することができ、Rをインストールしていないユーザに対する分析結果の公開も簡単に行える機能が備わっています。
rChartsは、Ramnath Vaidyanathanによってオープンソースソフトウェアとして開発されています。オープンソースソフトウェアライセンスはMIT LICENSEです。公式サイトはこちらで、ソースコードはGitHub上で公開されています。
描画できるチャートのイメージはチュートリアルページにサンプルがいくつかあり、そちらで確認することができます。とても参考になるので、rChartsを使う場合、利用前に一度は目を通すことをおすすめします。
rChartsを使ったより高度なグラフィックスについては、例えば、ニューヨークタイムスの記事のチャートをrChartsで置き換えた以下の2つの事例が参考になります。それぞれ、オリジナルのチャートとrChartsで置き換えたチャートを見比べてみると面白いと思います。
rChartsの仕組み
rChartは用意された描画関数でチャートのHTMLファイルを生成します。グラフィカルなチャートの実現のために、rChartsはJavaScriptの可視化ライブラリを用いています。
rChartsで使えるさまざまなJavaScript可視化ライブラリ
rChartsからは、以下の複数のJavaScript可視化ライブラリを呼び出すことができます。JavaScriptライブラリは、JSONフォーマットなどでデータを用意すれば簡単にチャートを生成することができます。
JavaScriptライブラリはそれぞれ特徴があり、実際に使用する場合、各ライブラリについての知識が必要です。注意点としては、ライセンスが基本的にはrChartsとは別に存在するため、ライセンスを確認した上で使用してください。
今回、これらの中からいくつか試してみたいと思います。本記事で主に紹介しているのは以下の2つのJavaScriptライブラリになります。
動きがあるグラフが生成でき、グラフの種類も豊富です。公式サイトでのドキュメント、デモが充実しています。営利利用の場合、ライセンス料が必要です。
公式サイトでのドキュメント、デモが充実しています。営利利用の場合、ライセンス料が必要です。
以下のライブラリは今回は紹介していませんが、上記同様rChartsから利用することができます。
- NVD3(Apache License, Version 2.0)D3.jsがベースになっているJavaScriptライブラリです。
- Morris(Simplified BSD License)
- Rickshaw(LICENSE)
- xCharts(LICENSE)
- Vega(LICENSE)
- Leaflet(LICENSE)
- Dimple(MIT-LICENSE)
実際にRからチャートを描画するためのコマンド例が、rChartsの各JavaScriptライブラリフォルダに格納されています。以下は、Highchartsの場合のコマンド例になります。
この記事は参考になりましたか?
- 近未来の技術トレンドを先取り! 「Tech-Sketch」出張所連載記事一覧
- この記事の著者
-
白石 康司(TIS株式会社)(シライシ コウジ)
TIS株式会社 コーポレート本部 戦略技術センター所属。現在、機械学習技術の研究、機械学習をベースとしたアプリケーションの企画・開発を、PythonやR言語をベースに行っている。 機械学習その他に関する社内研修やオープンな技術勉強会(Tech-Circle)の企画運営にも従事。 もともと、金融系基幹Webシステム開発でのアプリケーションアーキテクチャ/データモデル設計、データベース(Oracle)担当を経...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
