Np-Urのデータ分析教室

オーブンソースデータなどWeb上から入手できるデータを用いて、RとPython両方使って分析した結果を書いていきます

Shiny100本ノック!RユーザーのためのTips集

本ブログではShiny100本ノックと称して、Shinyに関する情報をまとめています。

書きたい順で記事を執筆していっているので、情報が乱雑してしまっています……。そこで本記事では、過去に紹介してきた事柄をまとめることにしました。

Shinyに関して困ったことがあったら、まずは本記事を参照していただければと思います。

Shinyことはじめ

まず、Shinyって何?という方やShinyについて勉強をはじめたばかりという方は、以下のリンクを確認すると良いでしょう。
www.randpy.tokyo
www.randpy.tokyo

Shiny初心者の方は、次のステップとしてreactive関数をうまく使うことで、効率性を上げてみましょう。
www.randpy.tokyo

Shinyのデザインの質を上げる

デフォルトのShinyでもある程度、アプリケーションっぽいデザインを作ることができます。

CSS・Javasciptファイルによってオリジナルのデザインを付けたいという場合は、以下を参考に、www/ディレクトリの下にファイル群を設置しましょう。
www.randpy.tokyo


また、とにかく簡単に見た目を変えたいときはShiny themesというライブラリがおススメです。
www.randpy.tokyo

タブを使って見た目をいい感じに

一つの画面に色々な機能を詰め込みすぎると、機能に反して使いづらかったり見づらかったりという弊害が生まれてしまいます。

そんなときは、複数のタブを作って機能を分割すると綺麗なUI画面になるでしょう。
www.randpy.tokyo
www.randpy.tokyo


知っておくと便利!Shiny小技集

以下では、知っておくとアプリ制作の幅が広がるトピックについてまとめています。
ファイルをShinyで読み込みたいときは、ドラッグ&ドロップ方式や、ライブラリ参照方式など色々な方法があります。
www.randpy.tokyo
www.randpy.tokyo
www.randpy.tokyo

ファイルを読み込めたら、今度はShinyで分析した結果をダウンロードしたいという要望もあるかと思います。

そのような時はdownloadButtonをうまく使ってみましょう。
www.randpy.tokyo

また、ローカルファイルだけでなく外部サービス上のデータ、例えばGoogleスプレッドシートのデータにアクセスする方法に関しては、以下記事で紹介しています。
www.randpy.tokyo
www.randpy.tokyo

またShiny上で作ったレポートをパワーポイントとしてダウンロードできると便利ですよね。その時は以下を参考にしてみてください。
www.randpy.tokyo

データをテーブル形式で表示することが多いと思いますが、そのときはDT::renderDataTableを使うと綺麗で高機能な表が作成できます。
www.randpy.tokyo


Shinyの環境構築について

Shinyの環境構築に関しては、通常通りPC上に入れても良いのですが、以下のようにDockerを利用する方法もおススメです。
www.randpy.tokyo

Shinyアプリケーションの公開方法

また、作ったShinyアプリケーションをAWSを利用して公開する方法もまとめています。
www.randpy.tokyo

Shiny実践編

以下では、Shinyで作ったアプリケーションを紹介していきます。
Shinyでどんなアプリが作れるか知りたい!!という方は、以下のアプリ例を参考にしてみてください。

Shinyで地図を使ったアプリ作成の際には、以下記事が参考になります。
www.randpy.tokyo

ファイルを各ユーザーが読み込んで簡単にプロットできるツールがあると結構便利です。
www.randpy.tokyo

また、クラスタリングをShiny上で行うツールを作りました。k-meansと階層的クラスタリングの選択ができたり、クラスターごとに色を変えて表示するようなアプリになっています。
www.randpy.tokyo

Google Data Studioもどき制作

Google Data Studioという様々なデータをAPI経由で読み込んで可視化できるツールがあります。よく話題になっていますが、Shinyを使って似たアプリケーションを作ってみました。
www.randpy.tokyo
www.randpy.tokyo
www.randpy.tokyo


最後に

こちらのTips集は随時更新していく予定ですので、Shinyでアプリを作る際は、本記事を辞書のように利用して頂くといいかと思います。

また、「こんな記事を書いてほしい」というリクエストがあれば、お気軽にご連絡ください。
それでは皆さん良いShiny lifeを!!