★データ解析備忘録★

ゆる〜い技術メモ

『RユーザのためのRStudio[実践]入門』の改訂2版が出ます。

はじめに

『RユーザのためのRStudio[実践]入門』(通称「宇宙本」)が改訂され、3年ぶりに帰ってきます。 私は初版に引き続き1章「RStudioの基礎」と2章「スクレイピングによるデータ収集」を担当しています。カバーも新しくなり、見た目のアップデート感も満載です。

内容的にはRStudioや各種ライブラリの最新版に対応しており、新たに文字列・日付時間の処理が追加されていますが、大まかな流れは初版と同じなので、書籍のコンセプト等は当時の記事を御覧ください。

y-mattu.hatenablog.com

TL; TR

『RユーザのためのRStudio[実践]入門』改訂2版をおすすめする方は

  • 最近Rを勉強し始めた
  • Rは昔からやっているけど、tidyverseに最近入門した(したい)
  • 初版を持っているけど、整理された最新情報にアクセスしたい

新しく書いたこと

1章RStudioでは、RStudio v1.2から導入された「Jobs機能」を追加しています。Jobs機能は大規模なモデリングをするときに大活躍する機能なので初心者向けかと言われると微妙なのですが、ペインが目立つ位置にあるのと、数あるRStudioの機能の中でも中級者以降にステップアップするときに役に立つだろう、ということで追加をしました。

加筆・修正したこと

1章

まず、執筆時点での最新版(RStudio1.4.1103, R4.0.3)の内容が反映されています。1章前半はRStudioの辞書的な感じで使っていただくのが良いというのは以前の記事でも書いたのですが、設定項目がさり気なく増えていたりしますので、設定項目一覧の解説に追加をしています。

また、R4.X.X以降で変わった read.csv()stringsAsFactors 引数の挙動による出力結果の変化など、細かい修正がメインです。

2章

2章は変更が多いです。

例えば、初版の読者問い合わせで多かった RSelenium パッケージについて。これは初版のときとパッケージの状況がかなり変わっており、環境によってはパッケージのインストールすらうまく行かないということもあります。ただ、2章の個人的コンセプト「スクレイピングでどんなことができるのか、Rだとどうやるのかを俯瞰する」の都合上どうしても外したくなかったので、Dockerを使ってユーザーの環境に左右されない方法で書いています。ただ、Dockerは初心者向けの書籍にしては難易度が高すぎるので、RSeleniumに関してはまるごとコラムに移しました。

また、Twitter REST APIを操作する rtweetスクレイピングに必須の rvest パッケージの関数の変更など、最新のパッケージに準拠した内容になっています(完全に裏話ですが、rvestは執筆中に新バージョンがリリースされたりして、校了直前まで調整が続いていました)。

書かなかったこと

Dockerのインストール

DockerによるRSeleniumパッケージの使い方をコラムで書いたとはいえ、OS別にDockerのインストールを書くのはあまりに本筋から外れるので、書籍内では触れていません。代わりに、後日公開されるサポートページに記載されています。

|>

パイプ演算子は、R 4.1で入る|> については特に触れず、magrittr%>% のままとしました。 |> はまだ実験段階なので、書籍に書くほどには仕様が定まってなさそう、という保守的な判断です。

back() , jump_to() の変更

rvest 1.0ではかつて使われていた html_node() , back() , jump_to() といった主要関数の名前が変更されています(古い関数も動きはします)。

rvest.tidyverse.org

いくつかの変更があったものの、書籍では html_node() の後釜しか触れていません。

最後に

2版を買おうか迷っている方へ

ライブラリのアップデートなど、最新の情報がインターネットですぐ手に入るいま、情報が古くなりがちな書籍を買う意味は何でしょうか。僕は「情報が体系化されまとまっている」これに尽きると思います。僕は今回の改訂版について「初版をお持ちの方もお持ちでない方もおすすめ」といった書き方をしていますが、理由は「2021年にRで分析をする上で重要な技術が体系的に詰まっている」からです。

一方で、初版のころから僕は本書のことを「R初心者が2冊目に読むべき本」と表現していました。本書にはRのインストール方法やRの基礎的な文法(ベクトルや代入など)が書かれていません。もし、プログラミングも初めてで、Rも一回も触ったことがない、といった方には正直おすすめできません。「Rを少し触ったけどよくわからない / tidyverseって何?」といった方が主なターゲット層です。あくまでレベル感としては「初心者向け」であり「基礎が書いてある」書籍です。

初版が発売されたのは2018年の6月で、そのころに初心者だった方は(今もRを使われていれば)多かれ少なかれ脱初心者していることでしょう。もし仮に、「tidyverseでバリバリ分析していて、最新情報もHadleyやRomainのTwitterでいち早くゲットしている」という方ですと、本書は易しすぎるかもしれません。

改訂にあたり

最後に、今回の改訂にあたっての僕の個人的な想いを。

まず、今回の改訂が実現したのは初版を買っていただいた多くの読者の皆様のおかげです。本当にありがとうございます。

初版が出た当時、僕はまだ学生で、技術評論社からRの書籍が出せることに大変嬉しく思ったのを今でも覚えています。 それでも、著者陣の皆様と協力して当時僕らが「この内容の日本語書籍はニーズが高そうだし、この内容なら自信を持って伝えられる!!」と思ったものを世に出しました。

結果的に、3年後に改訂2版を出すという、(流行り廃りの多い技術書の中では)比較的息の長い書籍になりました。

引き続き、多くの方が本書を手に取って、データ分析の宇宙(verse)へ旅立てることを願っております。