近未来の技術トレンドを先取り! 「Tech-Sketch」出張所 第17回(前編)
白石 康司(TIS株式会社) [著] 2014/10/16 14:00
このエントリーをはてなブックマークに追加

1 2 3 →

 本連載ではTIS株式会社が提供している技術ブログ「Tech-Sketch」から「コレは!」というテーマをピックアップし、加筆修正して皆様にお届けしております。今回はR言語のWebアプリケーションフレームワークとして進化し続けるShinyを紹介します。

 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アプリ化したイメージ
クラスタリング結果を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

1 2 3
→
INDEX
R言語のデータ分析レポートをShinyでインタラクティブにしてみる~「環境構築編」
Page1
What's Shiny?
ShinyパッケージとShiny Serverの動作環境
Shinyアプリの作り方
Shiny Serverの始め方 ― 「Ubuntu」版
次回後編について
こちらの関連記事もおすすめです

プロフィール
白石 康司(TIS株式会社) シライシ コウジ

TIS株式会社 コーポレート本部 戦略技術センター所属。

現在、主にR言語を軸としたデータ分析業務を担当。データ分析に関する社内研修の企画・運営にも従事。SIerにおけるこれからのデータ分析ビジネスを企画検討中。
もともと、金融系基幹Webシステム開発でのアプリケーションアーキテクチャ/データモデル設計、データベース(Oracle)担当を経て、現在に至る。

個人的には、Ruby on Rails、Objectve-C、UXにも強い関心があり、趣味でiPhoneアプリの開発も行っている。

Tech-Sketch : http://tech-sketch.jp
TwitterID : @shiraco


記事へのコメント・トラックバック機能は2011年6月に廃止させていただきました。記事に対する反響はTwitterやFacebook、ソーシャルブックマークサービスのコメントなどでぜひお寄せください。