SHOEISHA iD

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

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

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

R言語のデータ分析レポートをShinyでインタラクティブにしてみる~「アプリケーション作成編」

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


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

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

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

 前編の記事に引き続きShinyについてご紹介します。前編の記事では「環境構築編」として、作成したアプリケーションをShiny Serverを使って公開するまでの方法をご紹介しました。今回、後編の記事は「アプリケーション作成編」です。Shinyアプリの実装方法を理解して、実際にShiny Server上で動くWebアプリケーションを作ってみましょう。

Shinyで作れるさまざまな分析レポート

 Shinyではニーズに合わせてさまざまなタイプの分析レポートが作ることができます。実際のサンプルをShiny公式ギャラリーページで確認してみることにしましょう。まずは以下にアクセスしてみてください。

 公式のギャラリーページでは以下のような、さまざまなバリエーションのShinyアプリを一度に見ることができます。

Shiny公式ギャラリー
Shiny公式ギャラリー

 このページのサンプルアプリを一通り見ておくことでShinyで作れるレポートをイメージすることができます。アプリケーションと共にサンプルコードも公開されているので、実際に作るときの参考になるでしょう。

Shinyアプリの基本

 では、実際に作る前にギャラリーページで見たシンプルなShinyアプリの仕組みを理解することにしましょう。

アプリの基本構成(ui.Rとserver.R)

 Shinyアプリの基本構成は前編で紹介した通り、Viewの役割を担うui.RとControllerの役割を担うserver.Rの2ファイルになります。ui.Rでは画面レイアウトを表現したり、入出力の変数を定義したりします。server.Rではパラメータをui.Rから入力変数として受け取り、Rの関数を呼び出し、その実行結果をui.Rに戻します。

レポート画面のレイアウト

 Shinyアプリの主な作成目的は分析レポートです。その結果として、Shinyアプリはほとんどの場合、単一画面のアプリケーションになります。基本レイアウトは画面全体が左右に分割される形になります。画面左が入力エリア、画面右が出力エリアです。このレイアウトはシンプルで汎用的であるため、多くのシーンでそのまま使えるようになっています。今回は紹介しませんが、レイアウトを自由にカスタマイズすることも、もちろん可能です。

 なお、Shinyは内部的にTwitter Bootstrapを利用しています。その恩恵を受けて、それなりのUIがお手軽に実現できます。

次のページ
Shinyアプリの実装方法

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8226 2015/02/06 13:58

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング