niszetの日記

細かい情報を載せていくブログ

「Rが生産性を高める〜データ分析ワークフロー効率化の実践」を読んだので感想を書く

久々のの読書感想ブログ記事

「Rが生産性を高める〜データ分析ワークフロー効率化の実践」をご恵贈いただき、1周読み終わりましたので感想を書いていきます。 読み途中の感想はツイッター上に流しているのでそちらを参照していただければ。

一般的な情報

以下、書籍情報は出版社のHPを原則として貼っていきます。必要に応じてそこから書店のサイトに飛んでください。

出版社(技術評論社)のページ

gihyo.jp

同、サポートページ(エラッタ

gihyo.jp

GitHub上のサポートサイト(Rのコードが各章に分かれて載っている)

github.com

全体的な感想

本書は中級者向けの書籍で情報・知識提供型ですが、扱っている内容は実践寄りで基本的なR言語の機能を触ってみて、もう少し活用の幅を広げていきたい、という方によく合う内容となっています。ただし、分析の方法などは扱っていないので、それらを支える技術という立ち位置と思います。

本書で扱われる内容は一般的にPythonで処理する需要が多いのか、「Pythonで・・・」の書籍は多いですがR言語で扱った書籍は多くないため貴重です。もちろん言語の使い分けやPython、Rの両方を使えた方が良いというのは個人レベルではそうですが、コードのメンテナンス性や業務の引き継ぎなどの観点で、一通りのことがR言語で閉じているといるということは価値があると思いますし、何よりR言語でなんでもできるのは面白いですよね。

本書、R登山本はタイトル通り、「Rが生産性を高める」ということを体感できるのではないかと思います。

本書は扱う内容が幅広いですが、情報量が多く「自分はこの内容は知っているな・・・」と思ってる章であっても発見があると思います(私も多々ありました)そのため、初心者を抜けてすぐの中級者から上級者に入るレベルにある人まで恩恵があるのではないかと思います。目次を読んでみて、気になる情報が載っていれば、是非手に取ってみてください。

読み方など

章ごとのつながりはそれほど強くないので(一部、例えばスクレイピングのはなしで言えば6章→7章の方が良いとかはありますが)気になる章から読んで良いと思います。実際に私は4章から読み始めました(Word形式の出力についてより深く知りたかったため)

私は読んで済ませてしまう怠惰な性格なのでちゃんと実行していないのに言ってしまいますが、本書はサポートサイトにコードが載っており、これを使って手元で実行して手軽に確認できます。本文を読み進めながらコードを実行することで理解が深まるので是非やっていきましょう(私も・・・!)

補足的な情報と感想

ここからはR登山本の参考文献に多分載ってなかったと思われる、市販の書籍を、この章の内容の補完としてよさそうということで上げていきます。もちろん、R登山本の参考文献も読んでいきましょう(以下で上げているのは、参考文献にないものを選んでいるのです)

全体的にまだちょっとレベル的に足りないな、という場合は、通称宇宙船本と呼ばれているこちらの書籍の内容がちょうどぴったりハマると思います。R登山本と両方に含まれている内容で、R登山本でわからないことがあればこちらを見てみると良いと思います(私は改訂2版の方は読んでないのですが、初版は初心者~中級はじめくらいの人にピッタリな内容でした) R登山本の1,2,3,4,6章に対して基礎になる内容の位置づけと思って良いと思います。下記の各章では重複するので宇宙本について触れていませんが、前記の通り対応する内容の理解に不安があるならこの本!という感じです。

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

gihyo.jp

1,2章は比較的あっさりしていますが、同時期に出版されたこちらの書籍の目次を見るとちょうど対応していそうです。私はまだ入手していないのですが、こちらも実践的な内容になっていそうですね。

Rでらくらくデータ分析入門 ~効率的なデータ加工のための基礎知識~

gihyo.jp

1,2章はあっさりはしていますが、ポイントが押さえられているので、コードを見て結果をぱっと想像出来ないなら対応する箇所を復習した方が良いでしょう。2章にも知らないパッケージが出てきたので情報量やっぱり多いな・・・と思いました。

また、tidyverseは数年で内容が古くなっていくことがあるので、出来るだけ新しい情報に触れていくのがおすすめではあります(その点で言えば、英語で情報を読んでいった方が良い、というのはありますが・・・初手それは大変なので日本語の書籍を読むと良いですね)

3章 グラフ描画の基本と応用に関連して、可視化については色々と書籍があります。考え方を見ていくなら

データ分析のためのデータ可視化入門

www.kspub.co.jp

また、ggplot2パッケージについてであれば、

Rグラフィックスクックブック 第2版 ――ggplot2によるグラフ作成のレシピ集

www.oreilly.co.jp

などなど(2版は読んでないので確認できてないですが、初版にはとてもお世話になりました)

ggplot2パッケージは長く触ってきたので大体知ってるだろう・・・と思って最後に読んだのですが、まぁ普通に新情報が多々あり、あらためて奥が深いというか、いろいろなパッケージや使い方があるな・・・と思いました。

4章 HTML・Word文書への出力と分析結果の共有について、ドキュメント作成の書籍と言えば参考に上げられていた

再現可能性のすゝめ―RStudioによるデータ解析とレポート作成―

www.kyoritsu-pub.co.jp

がありますが、4-7のWord文書の作成はここまで扱ってる書籍はないと思いますので、Word文書作成で困っていれば今一番の情報源はこの本になるのではと思います。実用面を意識した内容になっており、この書籍の内容では自分の求めているWord文書が作れないとなれば、それは「手で作るしかない」と腹をくくるか、この内容で出来るように社内のドキュメントの運用方法を変えるかを考えるタイミングだと思います。

5章は私の知る範囲だと類書はない気がするので、Googleサービスとの連携で困ってる人の助けになりそうです。初出の情報ばかりだったのでこういうことも出来るのか・・・!となりました。

6章、スクレイピングについては少し前の書籍ですが以下も参考になるでしょう。rvestやhttrパッケージの使い方に不安があれば良いと思います(パッケージの仕様更新があればその差分は自分で埋めないといけませんが、差異があるかは私は把握しておらず・・・)

Rによるスクレイピング入門

www.c-r.com

6章はこれの応用・発展的な内容になりますね。6-5などは私も実践していなかったのでやっていこうと思いました。

7章を読んでいて気づきましたが、さりげにコードに工夫があり、関数の引数をうまく使うことで出来ることがコメントで補足されている箇所があったりします。気になる関数(の引数)は適宜helpを見ると幅が広がります。きっかけがないとなかなかhelpを見ることってないと思うのですが、そのきっかけが随所にあるともいえますね。

7章もあまり類書がなく(再現可能性のすゝめはrenvの前に使われていた(今も使われている?)packratの説明があるなど、関連はあります)生産性の向上に寄与するパッケージについてのこれらの情報は貴重だなと思いました。

おわりに

書きすぎた・・・。 久々に書くと加減がわからず書いてしまいますね。

生産性を高めていくぞ💪

Enjoy!!