web-dev-qa-db-ja.com

R +シャイニーハンマーまっすぐな光沢のある、フレックスダッシュボードまたはシャイニーダッシュボード?

mods "too broad a question" hammer で打撃を受ける危険性があるため、インタラクティブなR Shinyのツールとパッケージが大量に出現することを考えて、どのツールを使用するかを尋ねたいと思います。 1?

  1. Shiny-私にはあなたのプロジェクトは光沢のあるサーバーから実行する必要があるだけですが、最良の選択のようです。

  2. shinydashboard-光沢がありますが、コールアウト用のNice Valueボックスがあります。

  3. flexdashboard-Rmdに書き込みます。それは、まっすぐな光沢のないことであなたに何が得られますか?おそらく、データを渡すことができれば、クライアントにメールを送信すると便利でしょうか?私はflexdashboardをいじくり回してきましたが、データテーブル(library(DT))を操作できないため、さらに数回の反復が必要な気がします。

他の答えを見ると、私は この質問をする だけではありません。

クリエイターはパッケージやアプローチを紹介するためにたくさんのギャラリーを提供していますが、どの道を進むべきかをどのように知っていますか?

一方を他方よりも使用する明確な利点は何ですか?

54
micstr

作成する必要があるニュアンスが1つあります。インタラクティブ機能では、コードを実行するサーバーが必ずしも必要ではありません。インタラクティブJavaScriptは、クライアント側で実行される埋め込みJavaScript(プロット、ハイチャート、リーフレットなど)を使用して提供できます。したがって、「対話性」という単語を使用せず、対話性を明示的に記述する場合、オプションは次のようになります。

  • Shiny:ユーザー入力でRコードを実行するには、背後にサーバーが必要です。任意のレイアウトを実装できます。サーバーサイド(R)またはクライアントサイド(埋め込みJavaScript)を処理することにより、インタラクティブコードを実行できます。
  • shinydashboard:ユーザー入力でRコードを実行するには、背後にサーバーが必要です。ダッシュボードレイアウトを実装できます。ダッシュボードレイアウトで動作するように設計された特定のウィジェットが含まれています。サーバーサイド(R)またはクライアントサイド(埋め込みJavaScript)を処理することにより、インタラクティブコードを実行できます。
  • flexdashboard:ダッシュボードのように見える単なるドキュメント。ダッシュボードレイアウトで動作するように設計された特定のウィジェットも含まれています。 (埋め込みJavaScriptで)クライアント側でのみインタラクティブコードを実行できます。

したがって、基本的に、既存のパッケージ(htmlwidgetsを使用する)で必要な対話機能があれば、flexdashboardを使用するだけで、Shinyサーバーに展開する必要はありません。それ以外の場合は、Shinyサーバーに展開する必要があり、Shinyまたはshinydashboardを使用する必要があります。

20
Amit Kohli

光沢のあるアプリを実行するには、Shiny Serverが必要であることに同意しません。ポート5050(ファイアウォールの背後)でサーバー上の光沢のあるアプリをホストするだけで、クライアントはip:portを介してアプリにアクセスできます。これを達成するためにRStudioのセッションを1つだけ実行しています。

ルーターを介してポート転送をオンにした場合、このアプリはインターネット経由でもアクセス可能になりますが、セキュリティ上の理由からこれは許可しません。

Shinyが提供するWebページのカスタマイズの柔軟性が気に入っています。

ShinyDashboardは、すべてのcssとhtmlを自分で記述する必要なく、商業的な外観を提供するという点で優れています。

Flexdashboardは、iFrameなどを介してアプリを挿入するのではなく、マークダウンを処理できるサービスでホストする可能性があるという点でも優れています。

6
Alex Dometrius

光沢のあるモジュールをflexdashboardに入れるのが好きです。 runtime: shinyYAMLヘッダーセクションで、光沢のあるモジュールを使用するのは比較的簡単です。つまり、1日をかけてRStudioのすべての例を読み、コードで同じことをしようとします。学習曲線を超えると、flexdashboardsのモジュールにより、将来の開発がはるかに合理化され、精神的に簡単になり、私の経験では、私が対処するよう求められた基礎となるデータベースベースの質問に本当に集中する機会が与えられます。おもう flexdashboards + shiny modulesは、両方の長所です。flexdashは、レイアウト項目の一部を分割し、コードのセクションを簡単に追加または削除し、アプリケーションコードのさまざまな側面をより視覚的に明確なレイアウトで分離します( RMDファイルなど)、オブザーバー、プロキシ、またはカスタムレイアウトのセットアップなど、より複雑で典型的なshinyのことを可能にします。

5
nate
  1. shinydashboardには、デフォルトの光沢よりも優れたUI要素がありますが、これは現代のテーマのようなものです。他の2の競合他社としてリストされるべきではないと思います。
  2. flexdashboardは、Rmarkdownを拡張したもので、UI配置、htmlwidgetなどの単純な規則を使用しています。Shinyを使用できますが、制限されています。
  3. Shinyを使用するには、UIと動作のコードをさらに記述し、html、css、特にリアクティブで把握するのに時間が必要なものをもっと学ぶ必要があります。最終的には、すべてのパワーとコントロールが得られます。
4
dracodoc