Rのプログラミング言語的側面を学びたい人のための『みんなのR』

概要
『みんなのR』という本は、Rのプログラミング言語的側面を勉強したいという初心者には有用である。

はじめに

本記事では、『みんなのR』というRの入門書について紹介する。原書は英語で書かれているが、マイナビ出版から和訳が出ている。

後で述べるように、この書籍は、他のRの入門書と比較して、Rのプログラミング言語としての側面にも配慮したものになっている。このため、Rのプログラミング言語的側面を学びたい初心者にとっては有用である。

プログラミング言語としてのR

統計データ分析では、Rというものが現在よく使われている。このRは本質的に言えば、プログラミング言語である。自分で分析するためのプログラムを書いて、実行する必要がある。このため、Rでデータ分析を行うときは、統計に関する知識のほかに、プログラミングに関する知識があると有用である。

簡単な分析を行うのであれば、入門書に書いてあるコードを丸写しして、Rのコンソールで実行すれば何とかなる。しかし、ちょっと複雑な分析を行うときは、ちゃんとしたプログラムのコードを書く必要が出てくる。特に、入門書に載っているような簡単な事例ではなく、現実の乱雑としたデータを処理するところでは、しっかりとプログラムが書けないと困る。

だが、現在市販されているRの入門書は、どちらかと言えば統計に関する知識を伝えることに重点が置かれているものが多く、プログラミングについてしっかりと教えているものは少ない。また、正直言って、Rの入門書で美しくないコードを書いているものも少なくない。こうした美しくないコードでも何とか動くことは動く。だが、それをもとに機能を拡張しようとするとき、美しくないコードは修正するのが難しい。このため、現実の乱雑としたデータを処理するところでつまずくことになる。

このような中、今日紹介する『みんなのR』というRの入門書は、プログラミング言語としてのRという点にも配慮されている。その点において、この書籍は優れている。

『みんなのR』の特徴

以下、『みんなのR』の特徴を見ていきたい。

プログラミングを教える

まず、プログラミングを教えようとしている点が他の入門書と違っている点である。この本では第2章という早い段階において、統合開発環境 (IDE) とバージョン管理について紹介している。統合開発環境とバージョン管理ができるようになると、プログラムが保守しやすくなる。つまり、何か状況が変わって変更したいときに、簡単に直せるようになる。今までのRの教科書では、この辺りの記述がなされていないものが多かった。しかし、現実にデータを分析するときは、統合開発環境などをうまく使っていくことが重要になる。このため、早い段階からこのことについて触れている『みんなのR』は優れていると言えよう。

このほか、第8章「関数を書く」では、Rの関数の仕組みについて、他の入門書に比べて詳しく説明している。現実のデータ分析においては、自分で関数を書くと言うことが結構あるので、ここの記述は有用であると思う。

データの前処理

さらに、この本は、データの前処理を重視している。典型的な教科書では、データは最初からきれいなものとして存在していて、そのきれいなデータを処理する方法の説明に重点が置かれがちであった。しかし、現実には、きれいなデータはあまり存在していない。このため、データをきれいにして、分析に当てられるように前処理をしなくてはならない。『みんなのR』では、11章「グルーピング処理」、12章「データ整形」、13章「文字列操作」などで、汚いデータをきれいにする方法を扱っている。現実のデータ分析において前処理が大変なことを鑑みると、入門書の段階で前処理についてしっかり触れているのは、この本の優れた特徴の1つであると言える。

一人では難しい

ただし、プログラミング言語としてのRの説明にせよ、データの前処理の説明にせよ、もう少し丁寧に説明した方が良いのではないかと思われる点がいくつかあった。正直言って、プログラミングの初心者が一人で読んで、誤解なしに習得するのは難しいと思う。しっかりと身につけたければ、この本を教科書として使いつつ、ちゃんとプログラミング言語としてのRが分かっている人に教えてもらうのが、現実的なところであろう。

また、統計そのものについての説明はあっさりしているので、この本だけで統計も身につけるのは難しい。それはそれで別立てで勉強する必要があるだろう。

結局、私としては、現時点ではこの『みんなのR』も悪くはないが、将来より優れた教科書が出てくれば、そちらの方を勧めたいというところだ。

翻訳の問題

なお、日本語訳本は、原文を直訳したきらいがあり、日本語としては読みにくいところがある。また、誤植が非常に多い。一応、サポートサイトに正誤表があるが、この正誤表に載っていない誤植もいくつかあった。

まとめ

なお、この入門書の範囲を超えて、さらにRのプログラミング言語的側面を学びたい人には、『R言語徹底解説』という本がおすすめである。