統計ソフトRの「困った」を解決する12(+α)の方法

概要
統計ソフトRを使っていて分からないことがあった場合、どのように調べれば良いかについて。

はじめに

Rの「困った」
Rの「困った」

現在、統計処理ではRというソフトがよく使われている。Rは高機能であり、初心者から上級者まで使うことができる。とは言っても、Rに取りかかるのはなかなか難しい。テレビや洗濯機といった家電製品を買ったならば、紙の説明書が付いてくるので、とりあえずそれを見れば、最初の使い方も分かるし、困ったときにどうすれば良いか分かる。Rのようなソフトウェアではそうはいかない。「困った」を解決してくれる紙の虎の巻 [1] は付いてこない。また、メーカーのサポートが付いた商品なら、メーカーに問い合わせるという手段もあるが、フリーソフトのRではそうもいかない。

結局、Rで何か「困った」ことが起きた場合、自分で色々と調べなくてはならない。こう言うと、Rは大変そうだと思う人もいるかもしれない。だが、主にインターネットを通じて、Rの説明書代わりのさまざまな情報が提供されている。

この記事では、「コマンドの使い方が分からない」、「どのコマンドを使えばよいか」、「どんなパッケージで機能拡張すべきか」といったRに関する「困った」を解決する方法を紹介したいと思う。

Rのマニュアル

しっかりと作られたソフトウェアは、そのオンラインマニュアル [2] に必要なことが大体書いてある。Rには優れたオンラインマニュアルが付いているので、まずはそれを見ることが大事だ。なお、Rのオンラインマニュアルは基本的に英語で書かれているので、英語が不得意な人にとってはつらいかもしれない。

1. Rのオンラインマニュアルを見る

Rでオンラインマニュアルを見るには、コマンド名の前にクエスチョンマークをつけるだけで良い。あるいはhelpというコマンドを使っても同じようにオンラインマニュアルを出すことができる。なお、helpコマンドを使うときは調べたいコマンドを引用符で囲んでも囲まなくても良い。 [3]

例えば、meanというコマンドのマニュアルを見るときは、以下の各行のいずれかのコマンドをRに打ち込めば良い [4]

?mean
help(mean)
help("mean")

2. キーワードをもとにオンラインマニュアルを検索する

具体的なコマンド名は分からないが、調べたいキーワードが何かある場合は、help.searchコマンドを使う。あるいは、調べたいキーワードの前に、クエスチョンマークを2つ重ねても良い。

例えば、averageというキーワードを含むオンラインマニュアルを探したい場合は、以下のいずれかのコマンドを打ち込めば良い。

??average
help.search("average")

なお、helpコマンドと違って、help.searchの場合は検索キーワードを引用符で囲む必要がある。クエスチョンマークを2つ重ねる方法の場合は、引用符は不用である。

3. コマンド名の一部が思い出せない場合は?

aproposコマンドを使うと、コマンドやオブジェクトの名称を検索する。コマンドやオブジェクトの名称の一部だけ覚えている場合に有用である。ただし、これはコマンドだけでなく、オブジェクトまで探してしまうことに注意が必要である。

例えば、名称にmeanを含むコマンド・オブジェクトを探したい場合は以下のようにすれば良い。

apropos("mean")

すると、例えば、以下のような結果が返ってくる。

[1] "colMeans"        "kmeans"          "mean"
[4] "mean.data.frame" "mean.Date"       "mean.default"
[7] "mean.difftime"   "mean.POSIXct"    "mean.POSIXlt"
[10] "rowMeans"        "weighted.mean"

なお、正規表現を使って検索することも可能。

4. コマンドの引数を知るには?

コマンドの完全な解説は必要無いが、コマンドの引数のみを知りたいという場合は、argsを使えばよい。例えば、args(“mean”)のようにすれば良い。

Web上のリソース

Rのオンラインマニュアルでは足りず、もっと情報が必要ならば、Web上のリソースを使うのが良い。Web上のリソースならば、日本語で書かれた情報も多く存在している。

5. RからWeb上のリソースを探すには?

Rのソフト上からRSiteSearchコマンドを使うと、Rに関するWeb上のリソースを検索できる。例えば、“mean”’をキーワードとして検索したい場合は、RSiteSearch(“mean”)というコマンドを入れれば良い。なお、これで得られる情報は、オンラインマニュアルと同様、ほとんどが英語なので注意が必要である。

6. RSeek.org

RSeek.org
RSeek.org

RSeek.orgは、Rに関するWeb上の情報を検索できるサイトである。Googleのような一般的な検索エンジンを用いてRの情報を集めても良いのだが、“R”という語を検索キーワードに入れると、統計ソフトのRとは関係のない“R”が引っかかってしまうことが多い。この点、RSeek.orgは、統計ソフトのRの情報が良く掲載されているWebサイトのみを検索するので、関係のないものが引っかかる可能性は低い。

英語で書かれているサイトだが、検索キーワードは日本語でも問題ない。

なお、RSeek.orgでの検索をFirefoxなどの検索バーに追加することも可能なので、Rについて調べることが多い人は、検索バーに登録しておくと便利であろう。

7. seekR.jp

seekR.jp
seekR.jp

RSeek.orgと名前がまぎらわしいが、基本的な働きはほぼ同じで、Rに関するWeb上の情報を検索できるサイトである。RSeek.orgと違って、このseekR.jpは、日本語で書かれた情報を中心にしているのが特徴である。

RSeek.orgseekR.jpも、基本的にはGoogleのカスタム検索を使ってできている。Googleの普通のWeb検索では、統計ソフトのRに関係のないサイトも引っかかってしまうので、Rに関係のあるサイトに限定して検索できるように、カスタム検索を設定したということのようである。

なお、RSeek.orgと同様、Firefoxなどの検索バーに追加することも可能。また、音声検索も可能とのこと。

開発者のWebサイトは、hiratake55’s page

8. Rjpwiki

日本で、一番Rの情報が集まっているWebサイト。若干古い記述もあるので注意。とりあえずここで調べてみるというのも手。なお、seekR.jpはRjpwikiも検索対象としているので、seekR.jpから探せば、Rjpwikiの情報は手に入るはず。

9. R-tips

Rの初歩からの情報が載っているWebサイト。日本語で、このように全面的な情報が載っているのは珍しい。系統だって掲載されているので、大まかに「こういうことをやりたい」と考えているときに探すと便利だろう。Rの教科書としても使えなくはない。

10. S-Plus/R Function Finder

テーマ別にRのコマンドなどが並べられている。英語。コマンドそのものの詳しい使い方は無いが、「こういうときにどういうコマンドを使うと良いか」ということを調べる際には有用。ここで、コマンドを見付けて、その後、Rのマニュアルを見るという形になるだろうか。ちゃんとRのマニュアルにもリンクが貼ってあるので、そのままリンクをたどっていけば良い。

11. The R Manuals

The R Manualsには、Rの基礎から技術的な情報まで、様々なマニュアルを掲載している。ただ、どちらかと言えば上級者向けである。大体どのマニュアルも非常に長い。普通のユーザはまずここのお世話にはならないだろうが、パッケージの開発をする場合などは使えるかもしれない。

12. チートシート

チートシートとは、ある事柄についての重要なポイントを1枚の紙にまとめたものである。ただ、時として数ページにわたることもある。もう少し日本語風の表現にするのならば、虎の巻とでもなろうか。

Rのチートシートには、例えば、R Reference Card (PDF) というものがある。

まとめ

Rの「困った」を解決する方法は、上に挙げたように、色々な方法がある。人によって使いやすい方法は違うと思うが、敢えて「こういうときはこうせよ」ということを書いておこうと思う。

「あるコマンドの使い方がわからない」

コマンド名の前にクエスチョンマークを付けて、Rのオンラインマニュアルを見る。

「あることをしたいが、どういうコマンドを使えばよいか分からない」

RSeek.orgseekR.jpでキーワードを入力して検索。

「そもそも統計が分からない」

前に書いた「言語研究者のための統計の学び方―基礎を身につける」という記事などを参照してください [5]

付録:かっこいい図を描きたい

Rの特徴の1つとして、豊富な作図機能が挙げられる。Rは、データを視覚化するのが得意なのである。とは言っても、かっこいい図を描くのは、そう簡単ではない。

かっこいい図を描くための良い方法として、他人の図をまねるというものがある。Rの図の作り方を色々と載せたWebサイトを紹介して、この記事を終わらせることにしよう。英語のサイトも多いが、英語が分からなくても図の良さは分かると思うので、是非参考にしてもらいたい。

脚注
  1. もちろん、Rに関する入門書はさまざまなものが出版されているので、それを使うという手もあるが。 []
  2. オンラインマニュアルというと、インターネット上にあるマニュアルと考えてしまう人がいるが、これは正しくない。オンラインマニュアルにおける「オンライン」は、紙に印刷されたものでなく、ソフト上から見られるといった意味で用いられている。 []
  3. 2011年7月8日追記:forやif、あるいは算術演算子の“+”のような特殊なものについては、必ず引用符で囲まなくてはならない。例えば、help(“for”)や、?”+”のようにする。 []
  4. helpコマンドそのもののオンラインマニュアルを見たい場合には、?helpかhelp()とすればよい。 []
  5. もっとも、自分が直面している問題が、Rの使い方が分からないから生じているのか、統計が分からないから生じているのかは意外と切り分けが難しい。 []