世界一やさしいデータ分析教室

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

『RとShinyで作るWebアプリケーション』という書籍を執筆しました

本記事は、Shiny Advent Calendar 2018の1日目の記事です。


そして、Shiny100本ノックの第27弾です。
前回の更新から半年が経過してしまいました…。

というのも理由がありまして。
なんとShinyに関する本を発売することになりました!

RとShinyで作るWebアプリケーション

RとShinyで作るWebアプリケーション

  • 作者: 梅津雄一,中野貴広
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2018/11/07
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

こちらの執筆作業に時間を割いていたため、記事更新を怠っていました…。

ということで、今回はこちらの本を宣伝をさせていただこうと思います。

本の構成 各章紹介

7つの章と、APPENDIX から構成されています。
本サイトの内容と一部被る箇所もありますが、書籍として世に出すための大幅修正と加筆をしています。

CHAPTER 01 RとShinyの導入

1章では、Rのインストール方法から始まり、Rの基本的な使い方からShinyライブラリのインストール方法まで紹介しています。

Rをこれから使い始めるという方にとっても安心です。
ただし、R自体の詳しい解説(具体的な数値計算や可視化方法など)まではできていないので、適宜別の参考書やWebサイトを参照してください。

CHAPTER 02 Shinyの基礎講座

2章では、Shinyの基本的なサンプルアプリケーションを試しながら、ほとんどのアプリケーションで使用される関数について紹介しています。

2章まで読むだけでも、Shinyの便利さを体験できるはずです。

CHAPTER 03 回帰・分類・クラスタリングを行うShinyアプリケーション

3章では、実際にオリジナルのアプリケーションを作成しながら、それを実装するためのShiny関数を紹介しています。

具体的には、Rに含まれるデータセットを元に、回帰・分類・クラスタリングを行うShinyアプリを作成しています。
「このようなUIを作るにはどうしたら良いか?」
「このような機能を追加するにはどの関数を使うと便利か?」
という視点で関数を紹介すると共にノウハウをまとめています。

3章までの内容で、Shiny関数を網羅的にマスターすることができます。3章は最もページ数が多く、読み進めるのが大変かもしれませんが、ここを乗り越えれば色々なオリジナルアプリケーションが簡単に作れるようになっているはずです。

CHAPTER 04 地図と連携させたShinyアプリケーション

4章では、応用例として、leafletライブラリと併用して地図を描写しながら統計処理を行うShinyアプリケーションを作成します。

leafletとShinyを組み合わせるためのノウハウだけではなく、UIを綺麗に作るためのshinydashboard ライブラリの使い方も同時に紹介しています。shinydashboard ライブラリは非常に便利なので、是非使えるようになりましょう。

3章までで基礎を習得し、4章で応用例としてどのようは発展形があり得るのか、勘所を掴みましょう。

CHAPTER 05 GoogleアナリティクスAPIを使ったShinyアプリケーション

5章では、更に応用例として、GoogleアナリティクスAPIと連携し、取得したデータを柔軟に可視化するShinyアプリケーションを作成します。

ggplot2と組み合わせて円グラフや折れ線グラフなどを表示し、更に、作成したグラフをパワーポイントとして出力するところまで作ります。
また、Google アナリティクスAPIを使うために、Google Cloud Platformの登録からAPIを有効化するところまで丁寧に解説しています。

他にも使うと楽しいAPIが沢山用意されているので、別のAPIとShinyを組み合わせて、オリジナルアプリケーションを作ってみましょう。

CHAPTER 06 Shinyアプリケーションを公開する

1~5章までは、Shinyアプリケーションの作り方を紹介していますが、6章では公開するための方法を解説しています。

R環境が整っている相手、整っていない相手への共有方法をスクショを交えて丁寧に説明しています。

CHAPTER 07 Shiny Tips

7章では、6章までで紹介できなかったが知っておくと便利な関数やライブラリを紹介しています。

  • shinytest
  • R Markdownとの組み合わせ
  • ブックマーク
  • デバッグテクニック
  • reactiveTimer
  • DTライブラリのオプション

などが含まれます。

本の特徴

本書の特徴は、Shinyの基礎から応用まで網羅的に紹介している点、そして何といってもサンプルプログラムの数です。

github.com

こちらにて、書籍中で使ったサンプルプログラムを載せています。
約70のサンプルプログラムを準備しました。

既に手元のPCにShiny環境が整っているのであれば、Rコンソールにて

> library(shiny)
> runGitHub("ShinyBook", "Np-Ur", subdir= "chapter02/09-add-CSS")

のように、subdir の引数に立ち上げたいアプリのディレクトリを指定すれば、すぐに試すことができます。
(注意点として、Shinyアプリ上で使っているライブラリを事前にインストールしておく必要があります。)


最後に

本サイトを開設してから目標に置いていることの一つが、書籍出版でした。

ここまで続けられたのはSNS等でリアクションをくださったり、勉強会に参加した際に声をかけてくださった方々のおかげです。
本当に、本当にありがとうございます。

書籍準備がひと段落したので、これからはまた再びサイト更新を再開していきます。
これからも皆様よろしくお願いいたします。

RとShinyで作るWebアプリケーション

RとShinyで作るWebアプリケーション

  • 作者: 梅津雄一,中野貴広
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2018/11/07
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る