「R言語上級ハンドブック」を執筆しました
5人による共著ですが、「R言語上級ハンドブック」を執筆しました。本日発売です!1
最初に名前が書かれているので「第一著者」と驚かれることがよくありますが、並び順に深い意味はないです。
内容について
一応、R言語逆引きハンドブックの続編という位置付けのようです。なので、こちらに書いてある内容とはあまり被らないようにできています。また、こちらと同様逆引き形式です。
詳細な目次は amazon で閲覧できるようです。
「上級ハンドブック」という名前からわかるように、間違っても R をゼロから勉強する人向けの本ではないです。”上級” の定義は人それぞれですが、本書はプログラミング言語として高度な処理をしたり、パッケージを作成したりする人向けの内容が多いかと思います。R の本の割には統計解析や機械学習関連の内容は少なめです。
また、基本的には1つの項目について深く深く説明するというスタイルではないため、マニアックな内容の割には物足りなさを感じる方もいるかもしれません。
あと、個人的には並列処理についてもっと触れられるべきだったと思います。(じゃあお前が書けよって感じですが)
私が担当したのは以下の項目です。ざっくりした説明と、関連リンクも載せておきます。
CHAPTER 01 R言語とその応用操作
- 002 コマンドラインオプションをパースする
- コマンドラインオプションを取得する方法などについてです
- 関連
- 003 正規表現で文字列を抽出する
- R の組み込みパッケージでの文字列抽出は不便極まりないですが、他の便利なパッケージの紹介です
- 関連
- 004 処理速度のプロファイルを取る
- Rprof の使い方や結果解釈、可視化などについてです
- 関連
- 005 メモリ使用量のプロファイルを取る
- メモリ関連の関数の使い方などについてです
- 関連
CHAPTER 02 データ・ハッキング
- 020 1つの配列をブロックとする区分配列を作成する
- MATLAB の repmat 関数を R で実現する方法についてです
- 関連
- 021 ピボットテーブルのような処理を行う
- reshape2 パッケージの紹介です
- 関連
- 022「file」 オブジェクトを使ってファイル入出力を行う
- いわゆるファイルハンドラのお話です
- 023 Hadoopと連携する
- Hadoop のざっくりした説明と rmr2 パッケージの紹介です
- 関連
- 024 疎行列を扱う
- Matrix パッケージの紹介と、疎行列に対して SVM を適用する例です
- 033 文字列からデータフレームを作成する
- R 2.14.0 から導入された機能の紹介です
- 037 メモリに載らない大容量データを扱う
- bigmemory パッケージの紹介です。基礎的な内容が中心で、応用例に関してはネット上に転がってる情報と変わらないです・・・
- 関連
CHAPTER 03 統計解析
- 042 アソシエーション分析を行う
- ざっくりした使い方はネット上にたくさんあるので、基本的な操作やパラメータについての解説を詳しく書いたつもりです
- 043 系列パターンマイニングを行う
- arulesSequences パッケージの紹介です
- 044 ロバストな線形回帰を行う
- rlm 関数の使い方についてです。パラメータの違いによってどのような効果が得られるか割りとわかりやすく説明できたのではないかと思います。
- M 推定や MM 推定などについての詳細な説明は年内にまとめたいです
- 045 ロバストな平均値を求める
- トリム平均や M 推定量についてです
- 046 潜在的な特徴量を用いて分析を行う
- R で LSA (LSI), LDA, NMF を行うためのパッケージの紹介です。内容はだいぶ薄いと思います・・・
- 関連
CHAPTER 04 グラフィックス
- 052 カラー・グラデーションを作成する
- rainbow 関数のように予め用意されたグラデーションではなく任意のグラデーションを作成する方法についてです
CHAPTER 05 ネットワーク関連
- 061 RからTwitterを使う
- twitteR パッケージの紹介です。紹介できるレベルにするために何個もバグを潰しました
- 062 RからGoogle Visualization APIを使う
- googleVis パッケージの紹介です。基本的な内容しか触れてないので Using the Google Chart Tools with R (PDF) を読む方が良いかもです・・・
CHAPTER 07 開発ハッキング
- 078 TAGSファイルを作成する
- R のスクリプトなどに対して TAGS ファイルを作成する方法についてです
- 079 既存の関数を書き換える
- edit 関数、trace 関数、insertSource 関数などの紹介です。デバッグの時に重宝するかと思います
- 関連
他の方に比べると無駄に長い内容になっているかもしれません・・・。
さらっと書いている1文でも、ソースコードの深いところまで確認してやっとのことで書いているものもあります。おかげで C 言語のソースコードを読む力がだいぶ上がりました。
どういう人にオススメか?
全ての項目に該当するわけではないですが、次のような人の場合は満足度が高いのではないかと思います。
- とにかく幅広く R について理解したい人
- パッケージ開発をしている人/しようと思っている人
- R での処理を効率化したいと思っている人(処理速度、メモリ効率、記述量の観点で)
統計解析や機械学習について高度なことを知りたい方や、1つの項目に関して応用例含め深い内容まで知りたい方は物足りなさを感じるかと思います。
最後に
まずは、このような貴重な機会を与えてくださった共著者の石田先生、編集者の吉成さまに感謝いたします。
R を使うきっかけを与えてくださった研究室時代のスーパーバイザー、R を更に深く勉強するきっかけになった Tsukuba.R を始めとする R コミュニティにも非常にお世話になりました。
これまでお世話になった方々に本書を通じて少しでも恩返しできれば幸いです。
-
一部の店舗では 9/25 や 9/26 発売のようです ↩