ほくそ笑む

R言語と統計解析について

統計言語 R の公式ヘルプでさらっと目を通しておくと良いトピックまとめ

アート・オブ・Rプログラミング
『アート・オブ・Rプログラミング』の日本語訳が出たので早速買いました。
細かい仕様の解説が多くちりばめられていて結構いい感じです。
プログラミング初心者向けではないですが、他の言語になじんでる人が R に入門したい場合には、他の入門書よりもこっちを読んだ方が手っ取り早いのではないかと思います。
例えば、下記のように、他言語との比較による解説が各所に見られます。

他のスクリプト言語の経験がある読者は、Python での None や Perl での undefined などの「存在しない」値を知っているかもしれません。実は、R にはこのような値が2つあります。NA と NULL です。

http://www.amazon.co.jp/gp/product/4873115795


さて、今日はこの本の 1.7.4 節からの話題です。
統計言語 R には、公式ヘルプが付属しており、例えば平均値を計算する mean() 関数について知りたかったら、

?mean

と打てば、mean() 関数のヘルプを見ることができます。*1
このヘルプですが、関数だけでなく、一般的なトピックについても存在します。
『アート・オブ・Rプログラミング』には、この一般的なトピックについて次のように書かれています。

たとえ具体的な目的がなくても、このようなトピックに目を通すと参考になるでしょう。

http://www.amazon.co.jp/gp/product/4873115795

というわけで、今日はこれらのトピックをまとめておきます。
一通りさらっと眺めておけば、R についてより深く知ることができるでしょう。

ID*2 ヘルプ 日本語訳 概要
Arithmetic Arithmetic Operators 算術演算子 数値に対する二項演算子について
Comparison Relational Operators 関係演算子 比較演算子について
Control Control Flow 制御の流れ R の制御構文について(if, for, while など)
Dates Date Class なし 日付を表す Date クラスについて
Extract Extract or Replace Parts of an Object オブジェクトの一部の取り出しと置き換え ベクトル、行列などからの要素の取り出しと置き換え(代入)について
files File Manipulation ファイル操作 ファイル操作関連の関数について
Math (S3) S3 Group Generic Functions なし 数学関数について
Math (S4) S4 Group Generic Functions なし 数学関数について
Memory Memory Available for Data Storage データ収納に利用できるメモリ メモリについて
NA ‘Not Available’ / Missing Values Not Available / `` 欠損'' 値 欠損値(NA)について
NULL The Null Object Null オブジェクト NULL について
NumericConstants Numeric Constants なし 数値リテラルについて
Paren Parentheses and Braces 括弧と大括弧 括弧について
Quotes Quotes なし 引用符と特殊文字について
Startup Initialization at Start of an R Session R セッションの開始時の初期化 R が起動するときの流れについて
Syntax Operator Syntax and Precedence なし R の構文と演算子の優先順位について


R のヘルプは英語なので、東工大間瀬先生の日本語訳も横につけておきました。
しかし、訳が無いトピックがあるのと、なによりも訳した日が古い*3ので内容も古くなっているため注意が必要です。
例えば、Memory の日本語訳では「Rは静的なメモリモデルを使う」と書いてありますが、現バージョンでは「R has a variable-sized workspace」となっています。
そういう状況なので、がんばって英語の方を読んでみたほうがいいと思います。あしからず。

ついでに R マニュアルの紹介

R の公式ヘルプといえば、The R Manuals が有名です。
これらは非常に優れた解説書ですので目的に応じて一度目を通してみるのをお勧めします。
こちらも日本語訳がありますので紹介しておきます。

タイトル HTML PDF 日本語訳(PDF)
An Introduction to R HTML PDF R 入門
The R language definition HTML PDF R 言語定義
Writing R Extensions HTML PDF R の拡張を書く
R Data Import/Export HTML PDF R のデータ取り込み/出力
R Installation and Administration HTML PDF R のインストールと管理
R Statistical Function Help Pages R 基本統計関数マニュアル

最後のやつは説明が必要ですね。

このマニュアルは統計環境Rの基本パッケージ中の統計関連関数の全体をカテゴリー別に紹介すること,およびそのヘルプドキュメントの「ほぼ忠実な」和訳を提供することを主な目的にしている.又,各関数に付属する参考例を実際に実行した結果,その理解を助けるための簡易な注釈,そして参考画像をまとめている.

R 基本統計関数マニュアル

というわけで、これらは読みごたえがあるので「さらっと」とはいきませんが、目次だけでも目を通しておくと、後で必要になったときに「こういうマニュアルあったな〜」ということを思い出して良いかもしれません。

まとめ

R でとりあえずの統計処理スクリプトが書けるようになったら、こういった仕様的な側面を学んでみると面白いと思います。
NA と NULL の違いとか、実は [ は関数だった?なんてことを知ると、R でのコーディング時に非常に役に立ちます。
そうして理解できたことをブログ記事にして、下記のような Web イベントに参加してみてはいかがでしょうか?

R Advent Calendar 2012 : ATND
クリスマスまでのアドベント期間,日替わりで R に関する記事を公開していきましょう!
クリスマス当日まで毎日 R に関する新しい記事が産まれる素敵なイベントです。

きっと楽しいと思いますよ!
それでは〜。

追記

12/1(土) に R ユーザのイベント Japan.R が開催されるようです。
こちらへの参加もぜひ考えてみてくださいね!

第3回 Japan.R 午前の部 : ATND
以前に比べ,Rの書籍やウェブ上の情報は格段に充実し,独学で習得するのも難しくなくなってきました。とはいえまだまだRは取っ付きにくいイメージがあるかもしれません。このワークショップでは,Rを使いこなしたいけれど一歩目が踏み出せないあなたが,少しだけRと親しくなるのをサポートすることを目的としています。

*1: もしくは help(mean)

*2:R 環境で ?ID のように打てばヘルプが見れます。例:?Arithmetic

*3:なんと2002年1月。10年以上前です。