SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

 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

次のページ
Shinyアプリの作り方

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
近未来の技術トレンドを先取り! 「Tech-Sketch」出張所連載記事一覧

もっと読む

この記事の著者

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

TIS株式会社 コーポレート本部 戦略技術センター所属。現在、機械学習技術の研究、機械学習をベースとしたアプリケーションの企画・開発を、PythonやR言語をベースに行っている。 機械学習その他に関する社内研修やオープンな技術勉強会(Tech-Circle)の企画運営にも従事。 もともと、金融系基幹Webシステム開発でのアプリケーションアーキテクチャ/データモデル設計、データベース(Oracle)担当を経...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8148 2014/10/16 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング