ほくそ笑む

R言語と統計解析について

Shiny アプリをワンクリックで起動するやつ作った

先日、RStudio から Shiny がリリースされ、早くも話題になっています。

Shiny は、R だけで手軽に Web アプリケーションが作れるということで、早速試してみましたが、これはすごいです。
解析結果を埋め込んだインタラクティブな Web アプリケーションを非常に簡単に作成することができます。
実際どういうのができるのか知りたい人は、デモページがあるので触ってみるといいでしょう。

Shiny の使い道

ところで、この Shiny アプリは何に使えるのでしょうか?
それは、解析結果の共有です。
今まで、統計解析の結果として、例えばグラフを渡すときには、解析条件が少しずつ違うグラフを JPEG で何枚も渡すというようなことをしていました。
これは作る側も見る側も結構大変な作業です。
ところが、この Shiny アプリを使えば、条件を変更する UI さえ作ってしまえば、相手が思うままに見たいグラフだけを見ることができるようになります。
これは、解析者にとっても、結果を受け取る側にとっても、双方ハッピーなことです。

Shiny アプリの配布

というわけで、解析結果を共有するために、作成した Shiny アプリを配布したいのですが、それには2つの方法が考えられます。

  1. サーバにデプロイし、URL を渡して見てもらう。
  2. プログラムをまるごと渡し、ローカルで起動してもらう。

1. サーバにデプロイする場合、URL だけ渡せばいいという点で非常に便利です。
ただし、公開サーバだと誰にでも見ることができるので、秘密にしたい場合はローカルサーバにデプロイする必要があります。
これは自社内だけで解析結果を見るという場合はいいのですが、他社のお客さんに見てもらうには、お客さん側のサーバマシンにデプロイする必要があるので敷居が高くなってしまいます。
2. プログラムをまるごと渡す場合は、お客さん自身の PC 上で Shiny アプリを動かすことができるので便利です。
しかし、Shiny をインストールし、R を起動して Shiny を起動するという手間があり、お客さんが非プログラマだった場合には難しいかもしれません。
説明を受けてすぐならできるかもしれませんが、後日また見たいというときに、手順を思い出す必要があります。
いずれの方法でも、解析結果を見たいだけのお客さんにとっては不便な状況です。

OpenShiny

サーバーで動かすほうは、公式で動きがあるようですので、今回はローカルで動かす方を考えてみます。
Shiny 起動のための一連の手順に苦労するのは、大半は Windows ユーザではないでしょうか。*1
Windows ユーザの非プログラマが、配布された Shiny アプリを、自分の PC 上で簡単に起動する方法はないのでしょうか。


というわけで、作ってみました。

OpenShiny は、Windows 上で Shiny アプリを簡単に起動できる単一実行ファイル(exeファイル)です。
使い方は簡単で、ui.R および server.R のあるフォルダに置き、ダブルクリックで起動します。

すると、自動で R のパスを認識し、shiny::runApp() を実行して Shiny アプリを起動させます。
また、Shiny パッケージがインストールされていない場合は、自動でインストールします。
ただし、R の自動認識はデフォルトパスにインストールされている場合のみ有効です。*2
デフォルト以外の場所にインストールしている場合は自分でパスの指定をする必要があります。

とりあえずこちらで作成した例を置いておきます。
ここからダウンロード、解凍して実行してみてください。

また、runApp() の引数を設定して保存しておくこともできるので、appDir を変更することで、プログラムを一か所にまとめておくというような使い方もできます。
こちらも例を作成しましたので参考にしてください。*3


実行環境としては R 2.14.1 以上がインストールされた Windows Vista, Windows 7, Windows 8 および Windows Server で動くように想定しています。
Windows 2000, Windows XP の場合は、.NET Framework 2 以上がインストールされている必要があります。*4 *5
ただし、実行確認は Windows7 32bit のみで行っています。
これ以外で動いた動かなかったという報告は下記メールアドレスで受け付けています。


以上です。

関連記事

RStudio Shiny TIPS

追記

Shiny の自動インストールがうまくいってないもよう。
(2012/11/22) Shiny の自動インストールうまくいくようになったと思います。v.0.1.6
(2012/11/26) Shiny パッケージを自動的に最新にアップデートするよう変更。v.0.1.7
パスに日本語が含まれる場合、コンフィグが初期値になるバグ。
(2012/01/15) パスに日本語が含まれる場合のバグを修正 v.0.1.11
(2012/01/17) CRAN ミラーサイトを RStudio に変更 v.0.1.12
(2012/01/17) 二つ同時に起動できるように変更 v.0.1.12

*1:偏見?

*2:自分の環境でしかテストしてないのでうまく動くかは不明

*3:Store された設定ファイルは OpenShinySettings フォルダに格納され、削除しない限り有効になるのでご注意ください

*4:Windows 2000 の場合はこちらからインストールできます http://www.microsoft.com/ja-jp/download/details.aspx?id=16614

*5:Windows XP の場合はこちらからインストールできます http://www.microsoft.com/ja-jp/download/details.aspx?id=17851