書籍概要

改訂2版 Rユーザのための RStudio[実践]入門
tidyverseによるモダンな分析フローの世界

著者
発売日
更新日

概要

2018年に刊行した通称「#宇宙本」を最新の情報に改訂!

本書は,R言語のIDEであるRStudioと,モダンなデータ分析を実現するtidyverseパッケージの入門書です。RStudioの基本機能からはじまり,Rによるデータの収集(2章),データの整形(3章),可視化(4章),レポーティング(5章)といったデータ分析ワークフローの各プロセスの基礎を押さえることができます。

RStudio v1.4に対応し,新たに追加されたVisual Editor機能やRStudio v1.2で追加された「Jobs機能」などを紹介します。また,dplyr 1.0に対応し,データ処理系の関数の解説を追加しています。さらに改訂版では付録として,「stringrによる文字列データの処理」「lubridateによる日付・時刻データの処理」の2章を追加しています。

さまざまな機能が追加されていくRStudioとtidyverseに触れ,モダンなデータ分析をはじめましょう!

こんな方におすすめ

  • R / RStudioでモダンな分析環境を手にしたい方
  • 分析フローを意識した業務/解析をしたい方

目次

  • はじめに
    • 本書の特徴
    • 本書の構成
    • 本書の対象読者
    • 本書で解説しなかったこと
    • さあRStudioで分析を
  • tidyverseとは
    • tidyverseのパッケージ
    • tidyverseの過去
    • tidyverseの未来

第1章 RStudioの基礎

  • 1-1 RStudioのダウンロードとインストール
    • macOS
    • Windows
  • 1-2 RStudioの基本操作
    • RStudioのインターフェース
    • プロジェクト機能
    • Rスクリプトの新規作成と保存
    • Rのコマンドの実行
    • オブジェクトの確認
    • 補完機能
    • Jobs機能
  • 1-3 RStudioを自分好みにカスタマイズ
    • RStudio全般
    • コーディング
    • 外観
    • Terminal
    • キーボードショートカット
  • 1-4 ファイルの読み込み
    • Rの標準関数の問題点
    • readrパッケージ
    • Excelファイルの読み込み
    • SAS,SPSS,STATAファイルの読み込み
    • RStudio(GUI)によるデータの読み込み
    • ファイル読み込みのまとめ
  • 1-5 RやRStudioで困ったときは
    • ヘルプを使う
    • Vignetteを見る
    • チートシートを使う
    • コマンドパレット
  • 1-6 まとめ

第2章 スクレイピングによるデータ収集

  • 2-1 なぜスクレイピングが必要か
    • スクレイピングとは
    • 手作業によるデータ取得の限界
  • 2-2 スクレイピングに必要なWeb知識
    • HTML
    • CSS
    • XMLとXPath
  • 2-3 Rによるスクレイピング入門
    • rvestパッケージ
    • Webページタイトルの抽出
    • パイプ演算子
    • スクレイピング実践
  • 2-4 API
    • APIとは
    • rtweetパッケージによるTwitterデータの収集
    • ツイートの収集
    • COLUMN ブラウザの自動操作
    • COLUMN Webスクレイピングをするときの注意点
  • 2-5 まとめ
    • 参考文献

第3章 dplyr/tidyrによるデータ前処理

  • 3-1 tidy dataとは
    • tidy dataの定義
    • tidyではないデータ
  • 3-2 tidyrによるtidy dataへの変形
    • tidyではないデータ
    • pivot_longer()による縦長データへの変形
    • pivot_wider()による横長のデータへの変形
  • 3-3 dplyrによる基本的なデータ操作
    • tibbleとデータフレームの違い
    • dplyrの関数の概要
    • 1つのデータフレームを操作する関数の共通点と%>%
    • 演算子による処理のパイプライン化
    • filter()による行の絞り込み
    • COLUMN dplyrの関数内でのコード実行
    • arrange()によるデータの並び替え
    • select()による列の絞り込み
    • relocate()による列の並べ替え
    • mutate()による列の追加
    • summarise()によるデータの集計計算
  • 3-4 dplyrによる応用的なデータ操作
    • グループ化
    • COLUMN 複数の値を返す集約関数とsummarise()
    • COLUMN ウィンドウ関数
    • COLUMN selectのセマンティクスとmutateのセマンティクス
    • 複数の列への操作
  • 3-5 dplyrによる2つのデータセットの結合と絞り込み
    • inner_join()によるデータの結合
    • さまざまなキーの指定方法
    • inner_join()以外の関数によるデータの結合
    • semi_join(),anti_join()による絞り込み
  • 3-6 tidyrのその他の関数
    • separate()による値の分割
    • extract()による値の抽出
    • separate_rows()による値の分割(縦方向)
    • 暗黙の欠損値
    • complete()による存在しない組み合わせの検出
    • COLUMN group_by()による存在しない組み合わせの表示
    • fill()による欠損値の補完
    • replace_na()による欠損値の置き換え
  • 3-7 まとめ

第4章 ggplot2を用いたデータ可視化

  • 4-1 可視化の重要性
  • 4-2 ggplot2パッケージを用いた可視化
    • 準備
    • エステティックマッピング
    • COLUMN グラフに肉付けする
    • 統計的処理:stat
    • COLUMN X軸に離散変数をマッピングした場合における折れ線グラフ
    • 配置の指定:position
    • COLUMN position_dodge()とposition_dodge2()
    • 軸の調整
    • グラフの保存
  • 4-3 他者と共有可能な状態に仕上げる
    • themeの変更
    • 文字サイズやフォントの変更
    • 配色の変更
    • ラベルを変更する
  • 4-4 便利なパッケージ
    • 複数のグラフを並べる
    • 表示される水準の順番を変更したい
  • 4-5 まとめ
    • 参考文献

第5章 R Markdownによるレポート生成

  • 5-1 分析結果のレポーティング
    • ドキュメント作成の現場
    • 手作業によるドキュメント作成の問題点
  • 5-2 R Markdown入門
    • Hello, R Markdown
    • Rmdファイルと処理フロー
    • Markdownの基本
    • Rチャンク
    • ドキュメントの設定
    • RStudioで使える便利なTips
  • COLUMN Visual ModeによるRmdファイルの編集
  • 5-3 出力形式
    • html_document形式
    • pdf_document形式
    • word_document形式
    • スライド出力
    • R Markdownの出力形式を提供するパッケージ
    • COLUMN 日本語環境での注意点
  • 5-4 まとめ
    • 参考URL・参考文献

付録A stringrによる文字列データの処理

  • A-1 文字列データとstringrパッケージ
  • A-2 文字列処理の例
    • str_c()による文字列の連結
    • str_split()による文字列の分割
    • str_detect()による文字列の判定
    • COLUMN fixed()/coll()を用いた挙動の調整
    • str_count()による検索対象の計上
    • str_locate()による検索対象の位置の特定
    • str_subset()/str_extract()による文字列の抽出
    • str_sub()による文字列の抽出
    • str_replace()による文字列の置換
    • str_trim()/str_squish()による空白の除去
  • A-3 正規表現
    • 任意の文字や記号の検索
    • 高度な検索
    • regex()
  • A-4 まとめ

付録B lubridateによる日付・時刻データの処理2

  • B-1 日付・時刻のデータ型とlubridateパッケージ
  • B-2 日付・時刻への変換
    • 文字列から日付・時刻への変換
    • 数値から日付・時刻への変換
    • readrパッケージによる読み込み時の変換
  • B-3 日付・時刻データの加工
  • B-4 interval
  • B-5 日付,時刻データの計算・集計例
    • wday()を使った曜日の計算例
    • floor_date()を使った週ごとの集計例
    • B-6 タイムゾーンの扱い
  • B-7 その他の日付・時刻データ処理に関する関数
    • zipanguパッケージ
    • sliderパッケージ

サポート

ダウンロード

(2021年6月9日更新)

サンプルコードを以下のWebサイトで公開しています。

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2022年1月19日最終更新)

P.xix 11行目

`1str_split()`による文字列の分割
`str_split()`による文字列の分割

P.34 13行目

`col_types`数
`col_types`引数

P.57 8行目

`html > head > title`
`head > title`

P.90 最終行

複数の値を同時に降順にすることもできます。
複数の値を降順にするには、それぞれに`desc()`を付けます。

P.91 2行目

`arrange(desc(cty, hwy))`
`arrange(desc(cty), desc(hwy))`

`desc(cty, hwy)`と指定すると,dplyr 1.0.8以降ではエラーになります。それより前のバージョンでは,`hwy`は無視され,降順の`cty`だけが並べ替えに使われていました。

商品一覧