Rによるインタラクティブなデータビジュアライゼーション

―探索的データ解析のためのplotlyとshiny―

Rによるインタラクティブなデータビジュアライゼーション
著者 Carson Sievert 著・ 株式会社ホクソエム 監訳・ 輿石 拓真 訳・ 今井 康貴 訳・ 髙木 誠二 訳・ 和田 尚樹
分野 数学  > 統計  > 統計解析
数学  > データサイエンス
情報・コンピュータ  > プログラミング・言語  > R
情報・コンピュータ  > マルチメディア  > グラフィックス
発売日 2022/05/13
ISBN 9784320124868
体裁 B5・328頁
定価 5,280円 (本体4,800円 + 税10%)
  • この本の
    内容
  • 目次
  • 関連情報

 本書は、Rユーザがplotlyを用いてWebベースのインタラクティブなグラフを作成し、活用するための書籍である。
インタラクティブなグラフはデータの探索や詳細の確認がしやすく、plotlyをマスターすれば魅力的でインタラクティブで再現可能なグラフを素早く作成することができる。
 グラフの作成者自身が探索的なデータ分析に取り組めるだけでなく、グラフデータを共有しやすくなり、第三者がデータを探索し詳細を確認することも容易になる。インタラクティブなグラフを使いこなせるようになれば、データ分析のワークフローは大きく変わり、データとより高速に深く対話できるようになるだろう。
 原著者はplotlyパッケージの開発に携わっており、本書ではその使い方を基礎から学ぶことができる。実行するコードサンプルの説明に留まらず、plotlyの基礎となるフレームワーク(plotly.js)やその動作の仕組み、Rのエコシステムとの組み合わせなど、グラフのカスタマイズや応用につながる基礎知識を身に付けることができる。
 なお、第4章ではplotlyとshinyを組み合わせたアプリケーション開発を扱っている。インタラクティブ性に強みを持つ両パッケージを組み合わせることで、より高度で便利なアプリケーションを作成することができる。たくさんの例を挙げて説明しているので、発展的なshinyアプリを作成したい方にもぜひ手に取っていただきたい。

本書で扱う内容
* 静的なggplot2グラフをインタラクティブで動的なグラフに変換
* 複数のグラフを連携させ、アニメーションやリンクする可視化を実現
* plotlyグラフをshinyアプリ上で用いてインタラクティブ性のより高いアプリを作成
* 連続、離散、高次元データを可視化するためのベストプラクティス
* 地理空間データを可視化する多くの方法を解説

[原著:Interactive Web-Based Data Visualization with R, plotly, and shiny]

 

インタラクティブなグラフと対応するコードをフルカラーで紹介!

 

 

さまざまなグラフで豊かな表現が可能に!

 

1 導入
 1.1 なぜRとインタラクティブなグラフなのか
 1.2 本書で学ぶこと
 1.3 本書で学ばないこと
  1.3.1 ウェブ技術
  1.3.2 d3js
  1.3.3 ggplot2
  1.3.4 可視化によるデータ分析
  1.3.5 データ可視化のベストプラクティス
 1.4 読み進めるうえでの前提条件
 1.5 サンプルコードの実行環境
 1.6 困った時やさらに学習したい時
 1.7 謝辞
 1.8 本書のデータに関する情報


第I部 グラフの作成

2 概要
 2.1 plot_ly()の紹介
 2.2 plotly.jsの紹介
 2.3 ggplotly()の紹介

3 グラフ作成の基礎
 3.1 マーカー(散布図)
  3.1.1 アルファブレンディング(透明度)
  3.1.2 カラー(色)
  3.1.3 シンボル(形状)
  3.1.4 輪郭線(ストローク)とその幅(スパン)
  3.1.5 サイズ
  3.1.6 ドットプロットとエラーバー
 3.2 折れ線グラフ
  3.2.1 線の種類
  3.2.2 セグメント
  3.2.3 密度プロット
  3.2.4 平行座標プロット
 3.3 ポリゴン
  3.3.1 リボン

4 地図
 4.1 標準マップ
  4.1.1 概要
  4.1.2 コロプレス図
 4.2 カスタムマップ
  4.2.1 sfパッケージ
  4.2.2 カートグラム

5 棒グラフとヒストグラム
 5.1 複数の数値変数の分布
 5.2 複数の離散変数の分布

6 箱ひげ図

7 2次元ヒストグラム
 7.1 plotly.jsでビン計算を行うアプローチ
 7.2 Rでビン計算を行うアプローチ
 7.3 カテゴリ変数軸

8 3次元グラフ
 8.1 マーカー(散布図)
 8.2 パス(データの並び順に点を繋げる)
 8.3 ライン(x軸の値順に点を繋げる)
 8.4 軸の編集
 8.5 曲面


第II部 グラフのパブリッシュ

9 はじめに

10 HTMLへの保存・埋め込み

11 静止画の保存
 11.1 コードによる静止画の保存
 11.2 ブラウザを使った静止画の保存
 11.3 静止画のサイズ変更

12 静止画とその保存形式の編集


第III部 複数のグラフを用いた表現

13 複数グラフの配置
 13.1 plotlyオブジェクトの配置
  13.1.1 subplotの再帰的な結合
  13.1.2 その他のアプローチとsubplotの応用
 13.2 htmlwidgetsの配置
  13.2.1 flexdashboard
  13.2.2 Bootstrapのグリッドレイアウト
  13.2.3 CSSフレックスボックス
 13.3 グループ数の多いスモールマルチプルへの対応

14 アニメーショングラフ
 14.1 アニメーションAPI
 14.2 アニメーション化可能なグラフ


第IV部 グラフの連携

15 はじめに

16 クライアントサイドでのグラフの連携
 16.1 グラフィカルクエリ
 16.2 ハイライト vs フィルタ
 16.3 アニメーショングラフの連携
 16.4 グラフィカルクエリの実践例
  16.4.1 スモールマルチプル
  16.4.2 統計的トレースタイプの活用
  16.4.3 地理空間データ
  16.4.4 他のhtmlwidgetsとの連携
  16.4.5 一般化ペアプロット
  16.4.6 診断プロット
  16.4.7 リスト列をキーにしたグラフィカルクエリ
 16.5 グラフィカルクエリの限界

17 shinyによるサーバーサイドを使ったグラフの連携
 17.1 shinyにplotlyを組み込もう
  17.1.1 shinyの基礎
  17.1.2 renderPlotly()の詳細(非表示,サイズ調整など)
 17.2 plotly入力イベントの活用
  17.2.1 ドラッグイベント
  17.2.2 3次元グラフでのイベント
  17.2.3 編集イベント
  17.2.4 レイアウトとトレースを変更するイベント
  17.2.5 イベントソースの特定
  17.2.6 イベントによるリアクティブ式の再実行条件
  17.2.7 離散的な軸への対応
  17.2.8 イベントから得たデータの保持と管理
 17.3 アプリのパフォーマンス改善
  17.3.1 plotlyグラフの部分的な変更
  17.3.2 部分的な変更の活用例
 17.4 shinyを使った発展的なアプリケーション
  17.4.1 ドリルダウンの実装
  17.4.2 クロスフィルタの実装
  17.4.3 ドラッグ可能な範囲選択
 17.5 終わりに


第V部 JavaScriptによるイベントハンドリング

18 はじめに

19 JSONの基礎
 19.1 JavaScriptでの代入・抽出・一括処理
 19.2 RオブジェクトからJSONへの変換

20 イベントハンドラを自作する

21 customdata属性の活用

22 ウェブ技術の活用
 22.1 基本的なウェブ技術の利用
 22.2 モダンなJavaScriptとReactの活用


第VI部 その他のトピック

23 plotlyは無料かつ安全に使えるのか?

24 パフォーマンスを向上させる

25 ツールチップの制御
 25.1 plot_ly()のツールチップ
 25.2 ggplotly()のツールチップ
 25.3 ツールチップのスタイルを変更

26 モードバーの制御
 26.1 モードバー全体の削除
 26.2 plotlyロゴの削除
 26.3 指定したボタンの削除
 26.4 カスタムボタンの追加
 26.5 指定したボタンのみの表示
 26.6 静止画ダウンロードボタンの詳細設定

27 色の指定方法

28 マーカーの形状とグリフ

29 グラフに画像を埋め込む

30 言語の切り替え

31 LaTeX形式の描画
 31.1 MathJaxの注意点

32 パイプ演算子による処理フローの拡張

33 ggplotly()の改善
 33.1 レイアウトの変更
 33.2 データ(トレース)の変更
 33.3 集計後データの活用

34 カスタムgeom_*()のplotlyでの利用

参考文献
索  引

Shopping
ご注文

5,280円
(本体4,800円 + 税10%)

ネット書店で購入