Rではじめるデータサイエンス

[cover photo]
  • 2017年10月 発行
  • 480ページ
  • ISBN978-4-87311-814-7
  • フォーマット Print PDF
  • 原書: R for Data Science

オライリー・ジャパンで書籍を購入:
定価4,320円

Ebook Storeで電子版を購入:
価格3,456円

ggplot2、dplyrといったRを代表するパッケージやRStudioの開発で知られる「Rの神様」ハドリー・ウィッカムと、『RStudioではじめるRプログラミング入門』の著者ギャレット・グロールマンドによる、Rプログラミングを通してデータサイエンスの理解と知識を深めるための一冊。Rの機能と威力を知り尽くし、また、統計とデータサイエンス教育のプロフェッショナルでもある著者たちによるわかりやすくクリアな説明は、既存のデータサイエンス入門書とは一線を画します。データサイエンスに必要な要素とプロセス(インポート、整理、変換、可視化、モデル、コミュニケーション、プログラミング)を明確に定義し、それぞれ順を追い、各節の最後には練習問題を掲載して、ていねいに説明します。データサイエンティストを目指すなら必読の一冊です。

関連書籍

RStudioではじめるRプログラミング入門
Rクイックリファレンス 第2版
Rクックブック
Rグラフィックスクックブック
Rパッケージ開発入門
アート・オブ・Rプログラミング

日本の読者のみなさんへ
まえがき

第Ⅰ部 探索

1章 ggplot2によるデータ可視化
    1.1 はじめに
        1.1.1 準備するもの
    1.2 第1ステップ
        1.2.1 mpgデータフレーム
        1.2.2 ggplotを作る
        1.2.3 グラフ作成テンプレート
    1.3 エステティックマッピング
    1.4 よくある不具合
    1.5 ファセット
    1.6 幾何オブジェクト
    1.7 統計変換
    1.8 位置調整
    1.9 座標系
    1.10 階層グラフィックス文法

2章 ワークフロー:基本
    2.1 コーディングの基本
    2.2 名前の中には何がある?
    2.3 関数呼び出し

3章 dplyrによるデータ変換
    3.1 はじめに
        3.1.1 準備するもの
        3.1.2 nycflights13
        3.1.3 dplyrの基本
    3.2 filter()で行にフィルタにかける
        3.2.1 比較
        3.2.2 論理演算子
        3.2.3 欠損値
    3.3 arrange()で行を配置する
    3.4 select()で列を選ぶ
    3.5 mutate()で新しい変数を追加する
        3.5.1 有用な作成関数
    3.6 summarize()によるグループごとの要約
        3.6.1 パイプで複数演算を結合する
        3.6.2 欠損値
        3.6.3 カウント
        3.6.4 便利な要約関数
        3.6.5 複数の変数によるグループ化
        3.6.6 グループ解除
    3.7 グループごとの変更(とフィルタ)

4章 ワークフロー:スクリプト
    4.1 コードを実行する
    4.2 RStudioの診断

5章 探索的データ分析
    5.1 はじめに
        5.1.1 準備するもの
    5.2 質問
    5.3 変動
        5.3.1 分布の可視化
        5.3.2 典型値
        5.3.3 異常値
    5.4 欠損値
    5.5 共変動
        5.5.1 カテゴリ変数と連続変数
        5.5.2 2つのカテゴリ変数
        5.5.3 2つの連続変数
    5.6 パターンとモデル
    5.7 ggplot2呼び出し
    5.8 さらに学ぶために

6章 ワークフロー:プロジェクト
    6.1 リアルとは
    6.2 どこで分析するか
    6.3 パスとディレクトリ
    6.4 RStudioプロジェクト
    6.5 まとめ

第Ⅱ部 データラングリング

7章 tibbleのtibble
    7.1 はじめに
        7.1.1 準備するもの
    7.2 tibbleを作る
    7.3 tibbleとdata.frame
        7.3.1 画面表示
        7.3.2 要素抽出
    7.4 古いコードとの関わり

8章 readrによるデータインポート
    8.1 はじめに
        8.1.1 準備するもの
    8.2 作業を始めるにあたって
        8.2.1 基本 Rとの比較
    8.3 ベクトルをパースする
        8.3.1 数値
        8.3.2 文字列
        8.3.3 ファクタ
        8.3.4 日付、日付時刻、時刻
    8.4 ファイルをパースする
        8.4.1 戦略
        8.4.2 問題点
        8.4.3 他の戦略
    8.5 ファイルへの書き出し
    8.6 他の種類のデータ

9章 tidyrによるデータ整理
    9.1 はじめに
        9.1.1 準備するもの
    9.2 整理データ
    9.3 広げたり集めたり
        9.3.1 集める
        9.3.2 広げる
    9.4 分割と接合
        9.4.1 分割
        9.4.2 結合
    9.5 欠損値
    9.6 ケーススタディ
    9.7 非整理データ

10章 dplyrによる関係データ
    10.1 はじめに
        10.1.1 準備するもの
    10.2 nycflights13
    10.3 キー
    10.4 更新ジョイン
        10.4.1 ジョインを理解する
        10.4.2 内部ジョイン
        10.4.3 外部ジョイン
        10.4.4 重複キー
        10.4.5 キーの列を定義する
        10.4.6 他の実装
    10.5 フィルタジョイン
    10.6 ジョインの問題
    10.7 集合演算

11章 stringrによる文字列
    11.1 はじめに
        11.1.1 準備するもの
    11.2 文字列の基本
        11.2.1 文字列の長さ
        11.2.2 文字列の連結
        11.2.3 文字列の一部抽出
        11.2.4 ロケール
    11.3 正規表現でパターンマッチ
        11.3.1 基本マッチ
        11.3.2 アンカー
        11.3.3 文字のクラスと候補
        11.3.4 繰り返し
        11.3.5 グループ化と後方参照
    11.4 ツール
        11.4.1 マッチの可否
        11.4.2 マッチの抽出
        11.4.3 グループのマッチ
        11.4.4 置換マッチ
        11.4.5 分割
        11.4.6 マッチを探し出す
    11.5 他の種類のパターン
    11.6 正規表現の別の用途
    11.7 stringi

12章 forcatsでファクタ
    12.1 はじめに
        12.1.1 用意するもの
    12.2 ファクタを作る
    12.3 総合的社会調査
    12.4 ファクタ順序の変更
    12.5 ファクタ水準の変更

13章 lubridateによる日付と時刻
    13.1 はじめに
        13.1.1 用意するもの
    13.2 日付 /時刻の作成
        13.2.1 文字列から作成
        13.2.2 個別要素から作成
        13.2.3 他の型から作成
    13.3 日付時刻の要素
        13.3.1 要素を取得する
        13.3.2 丸める
        13.3.3 要素を設定する
    13.4 タイムスパン
        13.4.1 duration(期間)
        13.4.2 period(時期)
        13.4.3 interval(間隔)
        13.4.4 まとめ
    13.5 タイムゾーン

第Ⅲ部 プログラム

14章 magrittrでパイプ
    14.1 はじめに
        14.1.1 用意するもの
    14.2 パイプの代用
        14.2.1 中間ステップ
        14.2.2 元のオブジェクトを書き換える
        14.2.3 関数作成
        14.2.4 パイプを使う
    14.3 パイプを使ってはいけないとき
    14.4 magrittrの他のツール

15章 関数
    15.1 はじめに
        15.1.1 用意するもの
    15.2 関数を書くべきとき
    15.3 関数は人間とコンピュータのためのもの
    15.4 条件実行
        15.4.1 条件
        15.4.2 複合条件
        15.4.3 コードのスタイル
    15.5 関数の引数
        15.5.1 名前の選択
        15.5.2 値をチェックする
        15.5.3 3ドット( ...)
        15.5.4 遅延評価
    15.6 戻り値
        15.6.1 明示的リターン文
        15.6.2 パイプにできる関数を書く
    15.7 環境

16章 ベクトル
    16.1 はじめに
        16.1.1 用意するもの
    16.2 ベクトルの基本
    16.3 アトミックベクトルで重要な型
        16.3.1 論理ベクトル
        16.3.2 数値ベクトル
        16.3.3 文字ベクトル
        16.3.4 欠損値
    16.4 アトミックベクトルを使う
        16.4.1 型強制
        16.4.2 テスト関数
        16.4.3 スカラーとリサイクル規則
        16.4.4 ベクトルの名前付け
        16.4.5 要素抽出
    16.5 再帰ベクトル(リスト)
        16.5.1 リストの可視化
        16.5.2 要素抽出
        16.5.3 調味料のリスト
    16.6 属性
    16.7 強化ベクトル
        16.7.1 ファクタ
        16.7.2 日付と日付時刻
        16.7.3 tibble

17章 purrrでイテレーション
    17.1 はじめに
        17.1.1 用意するもの
    17.2 forループ
    17.3 forループのバリエーション
        17.3.1 既存オブジェクトの変更
        17.3.2 ループパターン
        17.3.3 出力長不明
        17.3.4 シーケンス長不明
    17.4 forループと関数型
    17.5 マップ関数
        17.5.1 ショートカット
        17.5.2 基本 R
    17.6 失敗の処理
    17.7 複数引数へのマップ
        17.7.1 さまざまな関数を呼び出す
    17.8 ウォーク
    17.9 forループの他のパターン
        17.9.1 述語関数
        17.9.2 reduceとaccumulate

第Ⅳ部 モデル

18章 modelrを使ったモデルの基本
    18.1 はじめに
        18.1.1 用意するもの
    18.2 単純なモデル
    18.3 モデルの可視化
        18.3.1 予測
        18.3.2 残差
    18.4 フォーミュラとモデルファミリー
        18.4.1 カテゴリ変数
        18.4.2 交互作用(連続とカテゴリ)
        18.4.3 交互作用( 2連続変数)
        18.4.4 変換
    18.5 欠損値
    18.6 他のモデルファミリー

19章 モデル構築
    19.1 はじめに
        19.1.1 用意するもの
    19.2 なぜ低品質ダイヤモンドの方が高価なのか
        19.2.1 価格とカラット
        19.2.2 さらに複雑なモデル
    19.3 何が 1日の便数に影響するか
        19.3.1 曜日
        19.3.2 シーズンの土曜日効果
        19.3.3 計算した変数
        19.3.4 年間の日:別のアプローチ
    19.4 モデルについてさらに学ぶには

20章 purrrとbroomによる多数のモデル
    20.1 はじめに
        20.1.1 用意するもの
    20.2 gapminder
        20.2.1 入れ子データ
        20.2.2 リスト列
        20.2.3 入れ子解消
        20.2.4 モデル品質
    20.3 リスト列
    20.4 リスト列を作る
        20.4.1 入れ子を使ってリスト列を作る
        20.4.2 ベクトル化関数からリスト列を作る
        20.4.3 多値要約からリスト列を作る
        20.4.4 名前付きリストからリスト列を作る
    20.5 リスト列を単純化
        20.5.1 リストをベクトルに変換
        20.5.2 入れ子解消
    20.6 broomで整理データを作る

第Ⅴ部 コミュニケーション

21章 Rマークダウン
    21.1 はじめに
        21.1.1 用意するもの
    21.2 Rマークダウン
    21.3 マークダウンによるテキストフォーマット
    21.4 コードチャンク
        21.4.1 チャンク名
        21.4.2 チャンクオプション
        21.4.3 表
        21.4.4 キャッシュ
        21.4.5 グローバルオプション
        21.4.6 インラインコード
    21.5 トラブルシューティング
    21.6 YAMLヘッダ
        21.6.1 パラメータ
        21.6.2 参考文献と引用
    21.7 さらに学ぶために

22章 ggplot2でコミュニケーションのためのグラフ作成
    22.1 はじめに
        22.1.1 用意するもの
    22.2 ラベル
    22.3 アノテーション
    22.4 スケール
        22.4.1 座標軸目盛と凡例のキー
        22.4.2 凡例の配置
        22.4.3 スケールの入れ替え
    22.5 ズーミング
    22.6 テーマ
    22.7 プロットを保存する
        22.7.1 図のサイズ
        22.7.2 他の重要なオプション
    22.8 さらに学ぶために

23章 Rマークダウンフォーマット
    23.1 はじめに
    23.2 出力オプション
    23.3 文書
    23.4 ノートブック
    23.5 プレゼンテーション
    23.6 ダッシュボード
    23.7 インタラクティブな要素
        23.7.1 htmlwidgets
        23.7.2 Shiny
    23.8 ウェブサイト
    23.9 他のフォーマット
    23.10 さらに学ぶために

24章 Rマークダウンワークフロー

訳者あとがき
索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]