見出し画像

Rが生産性を高める「はじめに」全文公開

atusyさん、hanaoriさんとの共著、Rが生産性を高める〜データ分析ワークフロー効率化の実践 が本日、2022年1月26日に発売となりました。データ分析に関係する作業をRを使って効率化する本です。

本のそでに書かれた「はじめに」からの引用をtweetしたところ、多くの方の興味を引いたようです。

それもあって本書の「はじめに」を全文公開することにしました。

「はじめに」の執筆は私が担当しました。ちょうどこの章を書いている頃にロボット掃除機(ルンバ)を買って、その便利さに感動したので、自動化のエピソードとして登場させました。Rの本にルンバは突拍子無さすぎるかな、という気もしましたが、でもプログラミングに限らず面倒なことを自動化するのは大事ですよね。退屈と単純作業は悪なのです。

では、どうぞ。


はじめに

これは何のための本か

単純な作業を繰り返して嫌になったことはありませんか? Excelで似たようなグラフを何十個も書いたり、そのグラフをWordに順番に貼り付けたり、毎日同じWebサイトにアクセスして一部分をメモ帳にコピーアンドペーストして編集したり……。

分析レポートを作成するために、生データを読み込み、集計してグラフ描画、それを文書の該当箇所に貼り付けるという典型的な一連の作業を想像してください。レポートの作成が一度きりなら、使い慣れたExcelでデータを読み込んで集計してグラフを描画、それをWordに貼り付ける、と手作業で難なく済ませられるでしょう。でも元のデータがたびたび更新され、それに追従する必要があるとしたらどうでしょう。そのたびに毎回同じ手順、つまり複数回のクリックやドラッグアンドドロップ、アプリケーションをまたいだ操作が必要になります。こういった手作業は単純かつ面倒くさく、さらには間違いを起こさないように常に注意する必要があります。締め切り直前に元データが最新のものに更新されたとき、あなたは一連の手順を間違えることなく短時間で実行できるでしょうか。もしくは週次、月次など、定期的なレポートを作成するために毎回同じ退屈な手作業をしてうんざりしていませんか。

自動化しましょう。単純な作業のいくつかはプログラムを書くことによって何度でも正確に繰り返すことができます。プログラムは人間とコンピューター双方が理解できる簡潔な手順書であるとも言えます。単純なテキストなので、作業手順を保存しておいて後日実行したり、他人と共有したりするのも簡単です。

自動化に関して身近な例を挙げます。筆者は最近、自宅にロボット掃除機を導入しました。結果、掃除機をかけるという特に楽しくもない面倒な作業から解放されました。出かける前にロボット掃除機のスタートボタンを押しておけば、あとは外出中に自動で床を掃除してくれます。作業を自動化すれば、それにかかる時間を自由に使えるようになるのです。もちろん自動化を始める際には、調査や試行錯誤などに時間がかかることがあります。でも、一度自動化してしまえば、あとは機械が何回でも同じ作業を正しくこなしてくれます。退屈な単純作業は機械にまかせて、人間は人間にしかできないことをしませんか。

本書では、Rを使ってデータ分析に関する作業を自動化、効率化する方法を解説していきます。Rは統計計算やグラフィックスのための言語として開発されました。Rのもともとの機能や柔軟性に加え、Rの機能を拡張するための膨大なパッケージが公開されており、ユーザーはそれらを使って自分のやりたい作業を簡潔に記述することができます。RとRのさまざまなパッケージを使って、データの取得や集計、ドキュメントの作成などの作業を効率化していきましょう!

本書の構成

各章の内容は基本的に独立しており、興味のある章から読み進められるようになっています。

1章でR、RStudioのインストール、RStudioの基本的な使い方など、Rを使ううえで必要な基礎知識について説明します。RやRStudioに不慣れな方は、まずこの章を読むと良いでしょう。

2章ではExcelでよくある分析作業をRに置き換えるために、Excelファイルなどの表データをRで読み込み、各種集計を行う方法を説明します。

3章ではggplot2パッケージを使ってグラフを描画する方法を説明します。統一的なわかりやすいコードで美しいグラフを描けるようになるでしょう。

4章ではR Markdownを使って分析結果をHTMLやWordなど、さまざまな形式で共有する方法を説明します。データが変わるたびにグラフを描き直してレポートの該当箇所に貼り付ける、といった単純作業から開放されましょう。

5章ではGoogle ドライブ、Google スプレッドシート、BigQueryといった、身近なGoogleの各種サービスをRから使う方法を説明します。

6章はスクレイピング、つまりWebページから自動でデータを収集する方法、そしてその際の注意点について説明します。

7章はより発展的な内容となっており、それまでの章で説明したデータの入手、集計、可視化、レポーティングなどの工程を効率的に再実行、自動化するためのしくみと応用例を紹介します。

本書を読み通すことで、みなさんの多くの作業が自動化されると期待しています。

なお、本書では以下の内容にはふれていません。ご自身に合った資料や書籍を参考にしてください。

  • Rのプログラミングに関する基本

  • データ分析に関する内容

環境とサポート

本書の内容は、RStudioを導入していればOSを問いません。RStudioについては第1章で導入の方法を解説します。また本書のコードの一部や補足などをGitHubリポジトリで公開しています。

https://github.com/ghmagazine/r_efficiency_book

最新の情報はこちらを参照ください。

この記事が気に入ったらサポートをしてみませんか?