Rは統計解析向けのプログラミング言語です。Rを使えばお手軽にデータ分析を行うことができ、その結果をレポートとして配布、公開することができます。さらに、その分析結果はShinyというRのパッケージを使えば、簡単に動的なWebレポートとして公開することができます。
このShinyを2回、前編/後編に分けて紹介します。前編となる今回は「環境構築編」として、Shinyで作ったWebレポートをローカルPCで照会する方法と、専用のShinyサーバーを用意してWeb公開する方法をご紹介します。後半となる次回は「アプリケーション作成編」として、具体的な例を挙げながら、実際のレポートの作り方をご紹介します。
What's Shiny?
ShinyとはRのIDEであるRStudioの開発元のRStudio Inc.が開発しているRのパッケージです。Shinyを使うとRでの実行内容を簡単にWebアプリにすることができます。
百聞は一見にしかずということで、サンプルとしてクラスタリング結果をShinyでWebアプリ化したイメージを以下にご紹介します。
Shinyで作成したWebアプリはブラウザからのユーザー入力をパラメータとしてインタラクティブにRのプログラムを即時実行し、その結果の動きを確認することができます。Shinyのレポートであればすべてのパラメータに関して、レポート作成者があらかじめ確定させる必要はありません。レポートを見るユーザーが動的に、このパラメータの場合はどうなるのかと調整しながら分析結果を多面的に確認することができます。
なお、こちらはイメージだけでなく、実際の動的なレポートにもShinyの公式ページ(クラスタリングサンプル)から触れることができます。ぜひ、試しに触れてみてください。
ShinyパッケージとShiny Serverの動作環境
それでは実際に動的な分析レポート、つまり、Shinyアプリの開発環境を作っていきたいと思います。
ShinyはRのパッケージとして提供されています。原則的には、Rが動作する環境であれば、Linuxでも、Windowsでも、Macでも、Rコンソールでinstall.packages()
さえすればどの環境でもインストールでき、動作します。
続いてShiny Serverについてです。Shiny ServerはShinyアプリをWeb公開できるサーバーアプリケーションで、執筆時点でLinuxプラットフォーム向けとして、「Ubuntu」版、「Red Hat/CentOS」版が提供されています。今回はShiny ServerをUbuntu 14.04がセットアップされたAmazon AWSのEC2インスタンスにインストールし、その上でWebアプリを動作させます。手元にUbuntuマシンを用意できる場合も基本的に手順は同じです。
今回、前編/後編共に検証環境の構成は、クライアント、サーバーそれぞれ以下のとおりです。
クライアントマシン環境構成とバージョン情報
- Mac OSX Mavericks 10.9.4
- RStudio 0.98.1062
- R 3.1.1 (2014-07-10)
- Shiny 0.10.2.1
サーバーマシン環境構成とバージョン情報
- Ubuntu 14.04
- R 3.1.1 (2014-07-10)
- Shiny 0.10.2.1
- Shiny Server shiny-server-1.2.2.367-amd64.deb