Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

R言語のデータ分析レポートをShinyでインタラクティブにしてみる~「環境構築編」

近未来の技術トレンドを先取り! 「Tech-Sketch」出張所 第17回(前編)

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2014/10/16 14:00

 本連載では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

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 白石 康司(TIS株式会社)(シライシ コウジ)

    TIS株式会社 コーポレート本部 戦略技術センター所属。 現在、機械学習技術の研究、機械学習をベースとしたアプリケーションの企画・開発を、PythonやR言語をベースに行っている。 機械学習その他に関する社内研修やオープンな技術勉強会(Tech-Circle)の企画運営にも従事。 もと...

バックナンバー

連載:近未来の技術トレンドを先取り! 「Tech-Sketch」出張所

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5