Rシャイニーチュートリアル:RでインタラクティブなWebアプリケーションを作成する方法
公開: 2020-03-16目次
序章
この現代のテクノロジーの時代では、フィットネスレベルの追跡から睡眠、株式市場に関する最新情報の提供まで、さまざまなアプリを利用できます。 Robinhood、Google Fit、Workitなどのアプリは、リアルタイムのデータと統計を使用するため、非常に便利なようです。 Rは統計計算とプログラミングの分野のフロントランナーであるため、開発者はその能力を使用してアプリを構築するシステムを必要としています。 Rプログラミングの詳細をご覧ください。
これは、Rシャイニーがその日を救うためにやってくる場所です。 このRShinyチュートリアルでは、基本を理解するようになります。
Rシャイニーとは?
Shinyは、RでインタラクティブなWebアプリケーションを構築するために開発されたRパッケージです。 これを使用して、RShinyコードとともにネイティブHTMLおよびCSSコードを利用するWebアプリケーションを作成できます。 データの視覚化を容易にするWebサイト上にスタンドアロンのWebアプリを構築できます。 R Shinyを介して作成されたこれらのアプリケーションは、テーブルやプロットなどのRオブジェクトをシームレスに表示できます。
Rシャイニーの機能のいくつかを見てみましょう:
- JavaScriptを使用せずに、より少ないコード行でWebアプリケーションを構築します。
- これらのアプリケーションはライブであり、スプレッドシートなどのユーザーがアクセスできます。 ユーザーが入力を変更すると、出力がリアルタイムで変更される場合があります。
- Webツールの知識がほとんどない開発者も、RShinyを使用してアプリを作成できます。
- テーブル、Rオブジェクトの出力、およびプロットを表示するための組み込みのウィジェットを取得します。
- このパッケージを使用して、ライブビジュアライゼーションとレポートをWebアプリケーションに追加できます。
- ユーザーインターフェイスはRでコーディングすることも、HTML、CSS、またはJavaScriptを使用して作成することもできます。
- デフォルトのユーザーインターフェイスは、Bootstrapを使用して構築されています。
- WebサーバーとR間の高速通信を可能にするWebSocketパッケージが付属しています。
読む:Rの決定木
Rシャイニーアプリのコンポーネント
Shinyアプリには、ユーザーインターフェイスオブジェクトとサーバー関数の2つの主要なコンポーネントがあります。 これらは、 shinyAppメソッドに渡される引数です。 このメソッドは、引数を使用してアプリケーションオブジェクトを作成します。
世界のトップ大学からデータサイエンスを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
また読む:RのKNNアルゴリズム
Rシャイニーアプリの基本的な部分を詳しく理解しましょう。
ユーザーインターフェース機能
この関数は、Webアプリケーションの外観を定義します。 ユーザーからの入力を取得して画面に表示することにより、アプリケーションをインタラクティブにします。 HTMLタグとCSSタグを使用して、アプリケーションの見栄えを良くすることができます。 したがって、ui.Rファイルを作成するときに、R関数を使用してHTMLファイルを作成します。
RコンソールでfluidPage()と入力すると、メソッドがタグ<div class =” container-fluid”></div>を返すことがわかります。
さまざまな入力関数は次のとおりです。
- selectInput ()–このメソッドは、さまざまな選択肢があるドロップダウンHTMLを作成するために使用されます。
- nudeInput ()–このメソッドは、テキストまたは数値を書き込むための入力領域を作成します。
- radioButtons ()–これはユーザーが入力を選択するためのラジオボタンを提供します。
レイアウト方法
Bootstrapで利用できるさまざまなレイアウト機能は、RShinyによって実装されています。 コンポーネントは次のとおりです。
パネル
これらは、要素を1つのパネルにグループ化するメソッドです。 これらには以下が含まれます:
- AbsolutePanel()
- inputPanel()
- conditionPanel()
- headerPanel()
- fixedPanel()
レイアウト機能
これらは、特定のレイアウトのパネルを編成します。 これらには以下が含まれます:
- fluidRow()
- verticalLayout()
- flowLayout()
- splitLayout()
- sidebarLayout()
出力方法
これらのメソッドは、R出力コンポーネントの画像、表、およびプロットを表示するために使用されます。 彼らです:

- tableOutput()–このメソッドはRテーブルを表示するために使用されます
- plotOutput()–このメソッドは、Rプロットオブジェクトを表示するために使用されます
サーバー機能
アプリケーションの外観とユーザーから入力値を取得する方法を作成したら、サーバーをセットアップします。 サーバー関数は、Shinyアプリのサーバー側コードを作成するのに役立ちます。 ユーザー入力を対応する出力にマップする関数を作成できます。 この関数は、アプリケーションがロードされたときにWebブラウザによって呼び出されます。
入出力パラメーターを取り、戻り値は無視されます。 オプションのセッションパラメータもこのメソッドで使用されます。
Rシャイニーチュートリアル:Rシャイニーを使い始める方法は?
Rシャイニーパッケージの使用を開始する手順は次のとおりです。
- Rコンソールに移動し、コマンド– install.packages( "shiny")を入力します。
- パッケージには、Shinyの仕組みを理解するための11の組み込みアプリケーション例が付属しています
Hello Shinyの例から始めて、基本的な構造を理解することができます。 このコードを入力して、HelloShinyを実行します。
ライブラリ(光沢)
runExample(“ 01_hello”)
新しいShinyアプリを作成する手順は次のとおりです。
- RStudioを開き、[ファイル]オプションに移動します
- ディレクトリ内の新しいプロジェクトを選択し、「ShinyWeb」アプリケーションをクリックします
- 入力に対する出力の変化をテストするためのヒストグラムとスライダーが表示されます
- アプリケーションをコーディングおよびカスタマイズするための2つのスクリプトui.Rとserver.Rを取得します
光沢のあるアプリ開発のヒント
- ブラウザでアプリをテストして、本番環境に送信する前にどのように表示されるかを確認します
- アプリのデバッグ中にスクリプト全体を実行する
- カンマなどの一般的なエラーに注意してください
結論
データサイエンスについて知りたい場合は、データサイエンスのエグゼクティブPGプログラムをご覧ください。このプログラムは、働く専門家向けに作成されており、10以上のケーススタディとプロジェクト、実践的なハンズオンワークショップ、業界の専門家とのメンターシップ、1対1を提供しています。業界のメンター、400時間以上の学習、トップ企業との仕事の支援。
シャイニーの最良の部分は、それを使用するためにHTML、CSS、またはJavaScriptを知る必要がないことです。 さらに、アプリケーションをビルドして、無料バージョンのshinyapps.ioにデプロイできます。 開始するときは、このRShinyチュートリアルを手元に置いてください。 すべてのデータサイエンティストは、一般の人々の前でデータから洞察を引き出すための特定のツールの助けを借りる必要があります。 Shinyは、インタラクティブなWebアプリケーションを開発するためにRで利用できるパッケージです。 テキスト、表、視覚化、またはインタラクティブなグラフを介して結果を伝達するための多くのオプションがあります。 Rプログラミングを知っていれば、Shinyは非常に使いやすいので、アプリを簡単に開発できます。 友人や同僚とあなたの仕事を簡単に共有するための組み込み機能があります。 シャイニーアプリのデザインはかなり素晴らしいです。 デフォルトの表示を見ている場合でも、非常に直感的でエレガントであることがわかります。 天気予報アプリケーションの例を使用して、これをよりよく理解しましょう。 ユーザーがページをリロードしたり、ページの小さな入力を変更したりするたびに、アプリはJSを使用してページ全体を更新する必要があります。 これにより、更新を処理するためにサーバー側に多くの負荷が追加されます。 シャイニーフレームワークは、インタラクティブなWebアプリケーションの構築に役立つRで利用可能なパッケージです。 このパッケージは、利用可能なデータセットに基づいて非常に効果的な視覚化とレポートを作成できるので素晴らしいです。 光沢のある要素を使用する以外に、HTML要素を使用してアプリケーションのコンテンツをカスタマイズすることもできます。 Rシャイニーのメリットは何ですか?
シャイニーは従来のアプリケーションとどのように違うのですか?
一方、Shinyは、サーバーの負荷を軽減するアプリ要素を分離または再読み込みします。 構造は、コードの理解とデバッグにおいて非常に重要な役割を果たします。 従来のアプリケーションと比較して、Shinyアプリでは、Webアプリケーションをスクロールするのが少し難しいことがわかります。 Rシャイニーは学ぶのが難しいですか?
Shinyは非常に強力なツールですが、Rでのプログラミングを知っていれば、簡単に習得できます。ポートフォリオにクリエイティブなものを追加することを検討している場合は、RShinyを習得することを強くお勧めします。