書籍概要

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

著者
発売日
更新日

概要

RStudioはR言語のIDE(開発環境)です。エディタ,コンソール,グラフなどを1つの画面内で確認できるほか,データ分析プロジェクトをスムーズに進めるための機能が豊富に用意されているので,RユーザにとってRStudioを利用したデータ分析はスタンダードになっています。本書はRStudioの基本的な機能を解説したあとに,データ分析ワークフローを一通り解説していきます。データの収集(2章),データの整形(3章),可視化(4章),レポーティング(5章)など,データ分析に欠かせないこれらの要素の基礎を押さえることができます。また,本書はtidyverseパッケージを用いてこれらのデータ分析ワークフローを解説している側面を持ちます。tidyverseの考えに触れ,モダンなデータ分析をはじめましょう。

こんな方におすすめ

  • Rユーザ,データサイエンティスト,RStudioを使ってみたい方

目次

第1章 RStudioの基礎

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

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

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

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

  • 3-1 tidy dataとは
    • tidy dataの定義
  • 3-2 tidyrによるtidy dataへの変形
    • gather()による縦長データへの変形
    • spread()による横長のデータへの変形
  • 3-3 dplyrによる基本的なデータ操作
    • tibbleとデータフレームの違い
  • 1つのデータフレームを操作する関数の共通点と%>%演算子による処理のパイプライン化
    • filter()による行の絞り込み
    • COLUMN dplyrの関数内でのコード実行
    • arrange()によるデータの並び替え
    • select()による列の絞り込み
    • mutate()による列の追加
    • summarise()によるデータの集計計算
  • 3-4 dplyrによる応用的なデータ操作
    • グループ化
    • COLUMN ウィンドウ関数
    • COLUMN selectのセマンティクスとmutateのセマンティクス,tidyeval
    • 複数の列への操作
    • tidy dataへの変形
    • scoped function
  • 3-5 dplyrによる2つのデータセットの結合と絞り込み
    • inner_join()によるデータの結合
    • さまざまなキーの指定方法
    • inner_join()以外の関数によるデータの結合
    • semi_join(),anti_join()による絞り込み
  • 3-6 まとめ

第4章 ggplot2によるデータ可視化

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

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

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

サポート

正誤表

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

(2018年8月7日最終更新)

P.55 HTMLの要素を取得のコード


url_title <- html_nodes(url_res, css = "html > head > title")


url_title <- html_nodes(url_res, css = "head > title")
もしくは
url_title <- html_nodes(url_res, css = "title")


(以下2018年7月2日更新)

P.162

下部のコードを以下に差し替えてください。


install.packages("plotly")
library(plotly)

g <- ggplot(data = mpg, mapping = aes(x = class, y = displ, colour =
class)) +
  theme_bw() +
  geom_violin() +
  geom_jitter(size = 1, alpha = 0.5, width = 0.25, colour = "black")

ggplotly(p = g)

(以下2018年6月29日更新)

P.7 1行目

.Rprojという名前のファイル
[プロジェクト名].Rprojという名前のファイル

P.63 1つ目のコード


install.packages("RSelenium")


install.packages("devtools")
library(devtools)
install_github("johndharrison/binman")
install_github("johndharrison/wdman")
install_github("ropensci/RSelenium")

RSeleniumおよびその依存パッケージは
devtoolsパッケージのinstall_github()を使うことでGitHubからインストールできます。devtoolsパッケージは,install.packages() を使ってインストールをします。

P.207 注5.7

英国科学アカデミー
国科学アカデミー

補足情報

本書のサンプルコード(3章,4章)について

本書のサンプルコード(3章,4章)については
こちらをご確認ください。
なお,利用にはGitHubアカウントが必要です。

商品一覧