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

[cover photo]
TOPICS
Data Science , R
発行年月日
PRINT LENGTH
576
ISBN
978-4-8144-0077-5
原書
R for Data Science, 2nd Edition
FORMAT
Print PDF
Print
4,730円

Rの神様、R関連のベストセラーの著者、気鋭の女性統計学者3人による、Rプログラミングを通してデータサイエンスの理解と知識を深めるための一冊。Rの機能と威力を熟知し、統計学と教育のプロフェッショナルでもある著者たちが、データサイエンスに必要なプロセス(インポート、整理、変換、可視化、モデル、コミュニケーション、プログラミング)を明確に定義し、それぞれ順を追ってていねいに説明。既存の入門書とは一線を画す一冊です。

目次

はじめに

Ⅰ部 全体像

1章 データ可視化
    1.1 はじめに
        1.1.1 準備するもの
    1.2 第1ステップ
        1.2.1 penguinsデータフレーム
        1.2.2 最終的な目標
        1.2.3 ggplotを組み立てる
        1.2.4 装飾(エステティック)とレイヤの追加
    1.3 ggplot2の呼び出し
    1.4 分布の可視化
        1.4.1 カテゴリ変数
        1.4.2 数値変数
    1.5 関係の可視化
        1.5.1 数値変数とカテゴリ変数
        1.5.2 2つのカテゴリ変数間の関係
        1.5.3 2つの数値変数
        1.5.4 3つ以上の変数
    1.6 プロットを保存する
    1.7 よくある問題
    1.8 まとめ

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

3章 データ変換
    3.1 はじめに
        3.1.1 準備するもの
        3.1.2 nycflights13
        3.1.3 dplyrの基本
    3.2 行
        3.2.1 filter( )
        3.2.2 よくある間違い
        3.2.3 arrange( )
        3.2.4 distinct( )
    3.3 列
        3.3.1 mutate( )
        3.3.2 select( )
        3.3.3 rename( )
        3.3.4 relocate( )
    3.4 パイプ
    3.5 グループ
        3.5.1 group_by( )
        3.5.2 summarize( )
        3.5.3 slice_ 関数
        3.5.4 複数の変数によるグループ化
        3.5.5 グループ解除
        3.5.6 .by
    3.6 ケーススタディ:集計とサンプルサイズ
    3.7 まとめ

4章 ワークフロー:コードスタイル
    4.1 名前
    4.2 スペース
    4.3 パイプ
    4.4 ggplot2
    4.5 区切りコメント
    4.6 まとめ

5章 データの整理
    5.1 はじめに
        5.1.1 準備するもの
    5.2 整理データ
    5.3 データを伸ばす
        5.3.1 列名のデータ
        5.3.2 ピボットの仕組み
        5.3.3 列名の中の複数の変数
        5.3.4 列ヘッダ内のデータ名と変数名
    5.4 データを広げる
        5.4.1 pivot_wider( ) の仕組み
    5.5 まとめ

6章 ワークフロー:スクリプトとプロジェクト
    6.1 スクリプト
        6.1.1 コードを実行する
        6.1.2 RStudioの診断
        6.1.3 保存と命名
    6.2 プロジェクト
        6.2.1 真のソースは何か
        6.2.2 どこで分析するか
        6.2.3 RStudioプロジェクト
        6.2.4 相対パスと絶対パス
    6.3 まとめ

7章 データインポート
    7.1 はじめに
        7.1.1 準備するもの
    7.2 ファイルからデータを読み込む
        7.2.1 実用的なアドバイス
        7.2.2 その他の引数
        7.2.3 他のファイル形式
    7.3 列の型の制御
        7.3.1 型の推測
        7.3.2 欠損値、列、型、問題
        7.3.3 列の型
    7.4 複数のファイルからデータを読み込む
    7.5 ファイルへの書き出し
    7.6 データ入力
    7.7 まとめ

8章 ワークフロー:協力を得る
    8.1 Googleは友達
    8.2 reprexの作成
    8.3 自分自身への投資
    8.4 まとめ

Ⅱ部 可視化

9章 レイヤ
    9.1 はじめに
        9.1.1 準備するもの
    9.2 エステティックマッピング
    9.3 幾何オブジェクト
    9.4 ファセット
    9.5 統計的変換
    9.6 位置調整
    9.7 座標系
    9.8 階層グラフィックス文法
    9.9 まとめ

10章 探索的データ分析
    10.1 はじめに
        10.1.1 準備するもの
    10.2 質問
    10.3 変動
        10.3.1 典型値
        10.3.2 異常値
    10.4 異常値
    10.5 共変動
        10.5.1 カテゴリ変数と数値変数
        10.5.3 2つのカテゴリ変数
        10.5.5 2つの数値変数
    10.6 パターンとモデル
    10.7 まとめ

11章 コミュニケーション
    11.1 はじめに
        11.1.1 準備するもの
    11.2 ラベル
    11.3 アノテーション
    11.4 スケール
        11.4.1 デフォルトスケール
        11.4.2 座標軸目盛りと凡例のキー
        11.4.3 凡例のレイアウト
        11.4.4 スケールの置き換え
        11.4.5 ズーム
    11.5 テーマ
    11.6 レイアウト
    11.7 まとめ

Ⅲ部 変換

12章 論理ベクトル
    12.1 はじめに
        12.1.1 準備するもの
    12.2 比較
        12.2.1 浮動小数点数の比較
        12.2.2 欠損値
        12.2.3 is.na( )
    12.3 ブール代数
        12.3.1 欠損値
        12.3.2 演算順序
        12.3.3 %in%
    12.4 要約
        12.4.1 論理要約
        12.4.2 論理ベクトルの数値要約
        12.4.3 論理サブセット
    12.5 条件付き変換
        12.5.1 if_else( )
        12.5.2 case_when( )
        12.5.3 互換型
    12.6 まとめ

13章 数値
    13.1 はじめに
        13.1.1 準備するもの
    13.2 数値を作る
    13.3 カウント
    13.4 数値変換
        13.4.1 算術演算とリサイクル規則
        13.4.2 最小と最大
        13.4.3 モジュロ演算
        13.4.4 対数
        13.4.5 丸め
        13.4.6 数を範囲に切り分ける
        13.4.7 累積とローリング集計
    13.5 一般的な変換
        13.5.1 ランク
        13.5.2 オフセット
        13.5.3 連続した識別子
    13.6 数値要約
        13.6.1 中心
        13.6.2 最小値、最大値、分位数
        13.6.3 散らばり
        13.6.4 分布
        13.6.5 位置
        13.6.6 mutate( ) を使う
    13.7 まとめ

14章 文字列
    14.1 はじめに
        14.1.1 準備するもの
    14.2 文字列を作る
        14.2.1 エスケープ
        14.2.2 生の文字列
        14.2.3 その他の特殊文字
    14.3 データから多くの文字列を作成する
        14.3.1 str_c( )
        14.3.2 str_glue( )
        14.3.3 str_flatten( )
    14.4 文字列からデータを抽出する
        14.4.1 行に分割する
        14.4.2 列に分割する
        14.4.3 拡張問題の診断
    14.5 文字
        14.5.1 長さ
        14.5.2 サブセット
    14.6 英語以外のテキスト
        14.6.1 エンコーディング
        14.6.2 文字のバリエーション
        14.6.3 ロケール依存関数
    14.7 まとめ

15章 正規表現
    15.1 はじめに
        15.1.1 準備するもの
    15.2 パターンの基本
    15.3 主な関数
        15.3.1 マッチの検出
        15.3.2 マッチを数える
        15.3.3 値の置換
        15.3.4 変数の抽出
    15.4 パターンの詳細
        15.4.1 エスケープ
        15.4.2 アンカー
        15.4.3 文字クラス
        15.4.4 数量子
        15.4.5 演算子の優先順位と括弧
        15.4.6 グループ化とキャプチャ
    15.5 パターン制御
        15.5.1 正規表現フラグ
        15.5.2 固定マッチ
    15.6 実践
        15.6.1 作業の確認
        15.6.2 ブール演算
        15.6.3 コードでパターンを作る
    15.7 他の場所での正規表現
        15.7.1 tidyverse
        15.7.2 基本R
    15.8 まとめ

16章 ファクタ
    16.1 はじめに
        16.1.1 準備するもの
    16.2 ファクタの基本
    16.3 一般社会調査
    16.4 ファクタの順序を修正する
    16.5 ファクタのレベルを修正する
    16.6 順序ファクタ
    16.7 まとめ

17章 日付と時刻
    17.1 はじめに
        17.1.1 準備するもの
    17.2 日付と時刻の作成
        17.2.1 インポート中に作成
        17.2.2 文字列から作成
        17.2.3 個々の構成要素から作成
        17.2.4 日時と日付の切り替え
    17.3 日時の構成要素
        17.3.1 日時の構成要素の取得
        17.3.2 丸め
        17.3.3 構成要素を修正する
    17.4 タイムスパン
        17.4.1 継続時間
        17.4.2 期間
        17.4.3 時間間隔
    17.5 タイムゾーン
    17.6 まとめ

18章 欠損値
    18.1 はじめに
        18.1.1 準備するもの
    18.2 明示的な欠損値
        18.2.1 直前の観測値が引き継がれる
        18.2.2 固定値
        18.2.3 NaN
    18.3 暗黙的な欠損値
        18.3.1 ピボット
        18.3.2 補完
        18.3.3 結合
    18.4 ファクタと空のグループ
    18.5 まとめ

19章 結合
    19.1 はじめに
        19.1.1 準備するもの
    19.2 キー
        19.2.1 主キーと外部キー
        19.2.2 主キーの検証
        19.2.3 サロゲートキー
    19.3 基本結合
        19.3.1 変形結合
        19.3.2 結合キーの指定
        19.3.3 フィルタリング結合
    19.4 結合の仕組み
        19.4.1 行マッチ
        19.4.2 フィルタリング結合
    19.5 非等結合
        19.5.1 クロス結合
        19.5.2 不等結合
        19.5.3 ローリング結合
        19.5.4 オーバーラップ結合
    19.6 まとめ

Ⅳ部 インポート

20章 スプレッドシート
    20.1 はじめに
    20.2 Excel
        20.2.1 準備するもの
        20.2.2 はじめの一歩
        20.2.3 Excelシートの読み込み
        20.2.4 複数のシートの読み込み
        20.2.5 シートの一部の読み込み
        20.2.6 データ型
        20.2.7 Excelファイルへの書き出し
        20.2.8 フォーマットされた出力
    20.3 Googleスプレッドシート
        20.3.1 準備するもの
        20.3.2 はじめの一歩
        20.3.3 Googleワークシートの読み込み
        20.3.4 Googleスプレッドシートへの書き出し
        20.3.5 認証
    20.4 まとめ

21章 データベース
    21.1 はじめに
        21.1.1 準備するもの
    21.2 データベースの基本
    21.3 データベースに接続する
        21.3.1 この本では…
        21.3.2 データの読み込み
        21.3.3 DBIの基本
    21.4 dbplyrの基本
    21.5 SQL
        21.5.1 SQLの基本
        21.5.2 SELECT
        21.5.3 FROM
        21.5.4 GROUP BY
        21.5.5 WHERE
        21.5.6 ORDER BY
        21.5.7 サブクエリ
        21.5.8 結合
        21.5.9 他の関数
    21.6 関数の変換
    21.7 まとめ

22章 arrow
    22.1 はじめに
        22.1.1 準備するもの
    22.2 データの取り込み
    22.3 データセットを開く
    22.4 Parquetフォーマット
        22.4.1 Parquetの強み
        22.4.2 パーティショニング(分割)
        22.4.3 シアトル図書館データの書き直し
    22.5 arrowでdplyrを使う
        22.5.1 パフォーマンス
        22.5.2 arrowでdbplyrを使う
    22.6 まとめ

23章 階層型データ
    23.1 はじめに
        23.1.1 準備するもの
    23.2 リスト
        23.2.1 階層
        23.2.2 リスト列
    23.3 ネストの解除
        23.3.1 unnest_wider( )
        23.3.2 unnest_longer( )
        23.3.3 一貫性のない型
        23.3.4 他の関数
    23.4 ケーススタディ
        23.4.1 非常に幅広いデータ
        23.4.2 関係データ
        23.4.3 深いネスト
    23.5 JSON
        23.5.1 データ型
        23.5.2 jsonlite
        23.5.3 矩形化のプロセスを始める
    23.6 まとめ

24章 Webスクレイピング
    24.1 はじめに
        24.1.1 準備するもの
    24.2 スクレイピングの倫理と合法性
        24.2.1 サービス利用規約
        24.2.2 個人識別情報
        24.2.3 著作権
    24.3 HTMLの基本
        24.3.1 HTML要素
        24.3.2 属性
    24.4 データの抽出
        24.4.1 要素を見つける
        24.4.2 ネストの選択
        24.4.3 テキストと属性
        24.4.4 テーブル
    24.5 正しいセレクタの検索
    24.6 すべてをまとめる
        24.6.1 スター・ウォーズ
        24.6.2 IMDb人気映画ランキング
    24.7 動的なサイト
    24.8 まとめ

Ⅴ部 プログラム 

25章 関数
    25.1 はじめに
        25.1.1 準備するもの
    25.2 ベクトル関数
        25.2.1 関数を書く
        25.2.2 関数の改善
        25.2.3 mutete( ) 関数
        25.2.4 要約関数
    25.3 データフレーム関数
        25.3.1 間接的で整理された評価
        25.3.2 変数包含のタイミング
        25.3.3 一般的な使用例
        25.3.4 データマスキング 対 整理された選択
    25.4 プロット関数
        25.4.1 その他の変数
        25.4.2 他のtidyverseパッケージを組み合わせる
        25.4.3 ラベル付け
    25.5 スタイル
    25.6 まとめ

26章 イテレーション
    26.1 はじめに
        26.1.1 準備するもの
    26.2 複数の列の修正
        26.2.1 .colsを使用した列の選択
        26.2.2 単一の関数の呼び出し
        26.2.3 複数の関数の呼び出し
        26.2.4 列名
        26.2.5 フィルタ
        26.2.6 関数内のacross( )
        26.2.7 pivot_longer( ) との違い
    26.3 複数ファイルの読み込み
        26.3.1 ディレクトリ内のファイルをリストにする
        26.3.2 リスト
        26.3.3 purrr::map( ) とlist_rbind( )
        26.3.4 パスの中のデータ
        26.3.5 作業を保存する
        26.3.6 複数の単純なイテレーション
        26.3.7 不均質なデータ
        26.3.8 失敗への対応
    26.4 複数の出力を保存する
        26.4.1 データベースへの書き込み
        26.4.2 CSVファイルへの書き出し
        26.4.3 プロットの保存
    26.5 まとめ

27章 基本R のフィールドガイド
    27.1 はじめに
        27.1.1 準備するもの
    27.2 [ ]で複数の要素を選択する
        27.2.1 ベクトルのサブセット化
        27.2.2 データフレームのサブセット化
        27.2.3 dplyrによる等価な処理
    27.3 $と[[ ]] で単一の要素を選択する
        27.3.1 データフレーム
        27.3.2 tibble
        27.3.3 リスト
    27.4 apply関数族
    27.5 forループ
    27.6 プロット
    27.7 まとめ

Ⅵ部 コミュニケーション

28章 Quarto
    28.1 はじめに
        28.1.1 準備するもの
    28.2 Quartoの基本
    28.3 ビジュアルエディタ
    28.4 ソースエディタ
    28.5 コードチャンク
        28.5.1 チャンクラベル
        28.5.2 チャンクオプション
        28.5.3 グローバルオプション
        28.5.4 インラインコード
    28.6 図
        28.6.1 図のサイズ
        28.6.2 他の重要なオプション
    28.7 テーブル
    28.8 キャッシュ
    28.9 トラブルシューティング
    28.10 YAMLヘッダ
        28.10.1 自己完結型ドキュメント
        28.10.2 パラメータ
        28.10.3 参考文献と引用
    28.11 ワークフロー
    28.12 まとめ

29章 Quartoフォーマット
    29.1 はじめに
    29.2 出力オプション
    29.3 ドキュメント
    29.4 プレゼンテーション
    29.5 インタラクティブな要素
        29.5.1 htmlwidgets
        29.5.2 Shiny
    29.6 Webサイトと書籍
    29.7 他のフォーマット
    29.8 まとめ

索 引