header

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

//[[maselab]]
(工事中)
-------------------------
目次:&aname(contents);
#contents
-------------------------
* フリーの統計環境 R について [#e5b82479]

ここに収められたファイルは日頃フリーソフト(特に Debian GNU/Linux と R)のお世話になっている間瀬が、自分でも少しでも貢献したいと考えて行っている作業の結果です。また、R という素晴らしいフリーの統計処理言語が多くの統計利用者の知るところとなり、研究・実務に役立って欲しいと考えています。

R は、アメリカのベル研で開発された統計処理言語・システムとして世界で広く使われている S ("S-Plus" 等商品化されたものが幾つかあります)の完全フリー版で、いわゆる GNU project の正式な一部です。別名 "S-clone", "GNUS-S", "poorman's S" とも呼ばれています。S は統計家がデータ処理に最適の計算機環境を目指して開発した統合環境で、その使いやすさには定評があります。R はシステとしては S とは完全に独立に開発されていますが、外観は出来る限り S-Plus に似せてあります。R はインタプリタ言語で、通常の計算機言語としての仕様とともに、統計計算用の多くの関数を最初から備えています。又、ユーザーの定義した関数をその場で登
録することにより、組込み関数と同様に簡単に使うことが出来ます。そして計算結果を直ちにグラフィックス表示する多くの機能を備えており、対話的なデータ解析に最適の計算機環境といえます。また様々な統計手法を実習できる数多くの組込みデータと、ほとんど全ての組込み関数に対し、その使用法をその場で試すことができる例示用のコードを最初から備えており、いずれも "example" 関数を使って統一的に簡単に実行できます。

R は C や FORTRAN で書かれた多くのフリーソフトからなるライブラリーの上に成り立っており、ユーザー自身の書いた C や FORTRAN サブルーティンを R から呼び出せる簡単で強力なインタフェイス(マニュアル "Writing R Extensions" に詳しく説明されています。日本語訳をこのホームページから入手できます)を備えています。

実際 R の最も優れた使い方は、真に速度を要求される部分のみを C や FORTRAN といった外部ルーティンで書き、結果自身の処理やグラフィックス表示は R で行うことでしょう。こうすることにより各応用分野で蓄積された C や FORTRAN コードを新た変更すること無く、有効に再利用することができます。
 
R はベクトル・配列単位で操作を行うように最適化されており、その特長をうまく活かしたコードを工夫(多くの場合可能です)すればインタプリタ言語でありながら驚く程の処理速度を持ちます。しかし、for-loop 等で成分毎に処理せざるを得ないような場合にはやはり速度は圧倒的に遅くなります。

R は本来 UNIX 用に開発されましたが、現在では Linux を含む PC-Unix はもちろん多くの Sun 非互換ワークステーション用 Unix、Microsoft Windows や Macintosh にも移植されています。詳しくは [[CRAN:http://www.ci.tuwien.ac.at/R/]] と呼ばれる R 自体と、世界中の利用者によるさまざまな独自ドオンパッケージを集めたホームページを参照してください。R はコアチームと呼ばれる開発者グループ(S の創始者の一人である Chambers や Xlisp-stat の作者である Tierney もメンバーです)による献身的なサポートと、全世界の利用者による意見を元に現在急速に改良を重ねています。なお、r-help (購読法は CRAN 参照)と呼ばれる R の利用者による全世界的なメイリングリストがあります。


&color(red){注意};:R の基本は R が提供する多数の基本的関数を、当面の問題に合わせて適宜組み合わせて使うことにあります。その意味で多少のプログラミングが必要です(普通コードは極短くて済み、例えば C プログラミングの初歩を知っていれば容易にマスター出来ます)。又 R の関数は解析途中で得られる様々な情報全てをいったん一つの変数に保存しカプセル化することが普通で、それを元に要約用の他の関数が最終的な解析結果を出力するという分業体制を取るのが基本です。これはデータを入れれば定型的な解析結果がすぐ得られるという、他の統計ソフトでしばしば見られるやり方とは異なり、末端利用者には使いにくい印象を与えるかも知れません。(勿論一連の解析手順を登録して、あたかも一つの組込み関数であるかのように使用できる R(S) では、そうしたプログラムを作ることは簡単です。)しかしながら、一つのデータ(そしてそれを解析する特定の統計技法)から得られる情報は多義に渡りますから、要約用の関数を別途(複数)用意する R(S) のやり方は、一方的な解釈を避けるためには賢明なやり方なのです。こうすることにより、結果を例えば様々なグラフに表したり、更に他の手法を使って吟味するという統計データ解析の対話的な精神が存分にいかされるようになります。統計学の末端(つまり真の)利用者の間における R(S) の知名度・利用度は現在のところ決して高いとはいえないようです。しかしながら、文系・理系を問わず、既存の天下り的な解析ソフトの利用(これはプログラム作成者の視点でしかデータを見られないことを意味します)に飽き足らなくなっている利用者の間には徐々に R(S) を利用する機運が高まりつつあります。極めて高度に洗練されていながらフリーであり、様々なプラットフォームで使用可能である R は、例えば講義等で多数の学生にデータの解析を実習させたいという教師にとっては最高の(そして賢明な)選択になることは間違いありません。
&color(red){注意};:R の基本は R が提供する多数の基本的関数を、当面の問題に合わせて適宜組み合わせて使うことにあります。その意味で多少のプログラミングが必要です(普通コードは極短くて済み、例えば C プログラミングの初歩を知っていれば容易にマスター出来ます)。又 R の関数は解析途中で得られる様々な情報全てをいったん一つの変数に保存しカプセル化することが普通で、それを元に要約用の他の関数が最終的な解析結果を出力するという分業体制を取るのが基本です。これはデータを入れれば定型的な解析結果がすぐ得られるという、他の統計ソフトでしばしば見られるやり方とは異なり、末端利用者には使いにくい印象を与えるかも知れません。(勿論一連の解析手順を登録して、あたかも一つの組込み関数であるかのように使用できる R(S) では、そうしたプログラムを作ることは簡単です。)しかしながら、一つのデータ(そしてそれを解析する特定の統計技法)から得られる情報は多義に渡りますから、要約用の関数を別途(複数)用意する R(S) のやり方は、一方的な解釈を避けるためには賢明なやり方なのです。こうすることにより、結果を例えば様々なグラフに表したり、更に他の手法を使って吟味するという統計データ解析の対話的な精神が存分にいかされるようになります。統計学の末端(つまり真の)利用者の間における R(S) の知名度・利用度は現在のところ決して高いとはいえないようです。しかしながら、文系・理系を問わず、既存の天下り的な解析ソフトの利用(これはプログラム作成者の視点でしかデータを見られないことを意味します)に飽き足らなくなっている利用者の間には徐々に R(S) を利用する機運が高まりつつあります。極めて高度に洗練されていながらフリーであり、様々なプラットフォームで使用可能である R は、例えば講義等で多数の学生にデータの解析を実習させたいという教師にとっては最高の(そして賢明な)選択になることは間違いありません。社会に出たらとたんに使えなくなるような高価な商用ソフトの使用法を教えるのは時間の無駄であり、教師の自己満足にすぎないのではないでしょうか。

&color(red){注意};:R は R 内部から好みのエディターを起動し、その場でデータやプログラムの編集ができる機構を持っています。しかしながら一番便利なやり方は、R とは別個にエディターを起動し、編集・セーブする度に、マウスでカット&ペーストするか、R の データ・プログラムファイル読み込み用関数 scan, source を用いることでしょう。高機能のフリーエディターである Emacs (mule, XEmacs) では R(S) 編集用の便利なモード(ESS, "Emacs Speaks Statistics")が使えます。CRAN から入手可能です。

* R に関する情報を得るには(工事中) [#m529b59b]


* R の公式マニュアルの和訳について [#fddc2709]
以下は CRAN にある R の公式マニュアルの和訳です。ただしかなり前のバージョンです。&color(red){大幅に変更・増補されている可能性が高いですから、最新のバージョンを参照することを強くお勧めします。}; 翻訳の適切さに付いては全く保証しません。既に存在する S や S-Plus に関する日本語文献中の用語との整合性も全く無視しています。もし、利用者がこれは明らかに誤訳と思われたなら、きっとその通りです(笑)。

** [[R の公式マニュアル "Introduction to R" (ver.1.7.0) の和訳:http://www.is.titech.ac.jp/~mase/R-intro-170.jp.pdf]]  [#qff8ad1a]
R の一般的言語仕様と入門的使用法の解説です。102頁になります。全体の翻訳が完成していますが、texi ファイルが完全には日本語に対応していないため、文字サイズや太字化等一部不完全です。この翻訳はメイリングリスト R-jp の有志による "R-notes.texi" (R-intro.texi の旧版)の翻訳を元に間瀬が訳し直したものを、小野肇さんの協力で1.7.0版に更新したものです。オリジナルと同じ GPL 条件の下に自由に利用、再配布、修正出来ます。(最終更新 2003/06/23)

** [[R の公式マニュアル "Writing R Extensions"  (ver.1.2) の和訳:http://www.is.titech.ac.jp/~mase/R-exts.jp.pdf]] [#l7b10963]
内容は R の新規パッケージの作り方、R のドキュメントの書き方、C や FORTRAN 言語等との外部インタフェイス、R の関数の外部言語からの利用法等を解説しています。一見奇妙に聞こえるかもしれませんが、R は完備した数学関数、統計関数、数値計算のライブラリを備えていますから、場合によればこれだけを自分のプログラムからサブルーチンとして使うというやり方が十分考えられます。全体の翻訳が完成しています。(最終更新 2001/05/09) 

** [[R の公式マニュアル "R Language Definition" (ver.1.1 草稿段階) の和訳:http://www.is.titech.ac.jp/~mase/R-lang.jp.v110.pdf]] [#jdb8729e]
内容は R の言語仕様(S 言語の方言)の公式解説です。普通の R のプログラミングに必要な内容ではありませんが、それでも参考になることがいろいろ書いてあります。R をかなり使いこんだ人が時折感じるであろう計算機言語としての R の奇妙な挙動の理由を明らかにしたくなったら読んで下さい。全体の翻訳が完成していますが原稿そのものがドラフト段階ですから将来大きく変わる可能性があります。 (最終更新 2002/1/14)

** [[R の公式マニュアル "R Data Import/Export" (ver.1.5.0) の和訳:http://www.is.titech.ac.jp/~mase/R-data-jp.v15.pdf]] [#m48111e9]
内容は他の統計システム用のデータの R への取り込みと、それらへの出力を行うアドオンパッケージの解説、データベースソフトを R から使用する方法、R の新しい入出力機構である接続(connection)の様々なタイプ、に関する説明です。関連アドオンパッケージが開発途上であるため、将来大きく変更される可能性があります。全体の翻訳が完成しています。(最終更新 2002/5/13) 

** [[R の公式マニュアル "R Installation and  Administration" (ver.1.5.0)の和訳:http://www.is.titech.ac.jp/~mase/R-admin-jp.v15.pdf]] [#n1303b85]
内容は R の各種プラットフォームへの移植に伴う諸注意です。おもに普通でない機種・OSを使ったシステムの管理者向けの内容です。全体の翻訳が完成しています。(最終更新 2002/6/13) 

また公式FAQ集の和訳は [[RjpWiki:http://www.okada.jp.org/RWiki/]] にあります。

** [[R FAQ 集:http://www.okada.jp.org/RWiki/?R-FAQ%C6%FC%CB%DC%B8%EC%CC%F5]] [#m54a8294]
Windows, Mac版 FAQ 集も同じ場所にあります。

* R の基本統計関数のマニュアルについて [#teefddcd]
R の機能は本体だけに限っても全貌を把握するのは、たとえ相当経験を積んだユーザーにも困難です。さらに各機能の詳細を知る最良の方法はオンラインヘルプを見ることですが、英文で書かれたヘルプドキュメントを理解するのは、こうした文章特有の簡略で素っ気ない叙述をさておいても、語学的な障壁に加え、統計学、R システム、数値解析等の知識が相当必要とされ、とくに初心者にはとっつきにくいと思われます。以下で公開する「R基本統計関数マニュアル」は次のような方針でまとめられています。

-R 本体の統計関連関数の全体をカテゴリー化して紹介する。
-各関数付属のオンラインヘルプ文章(help() 関数で表示されるもの)を可能な限り忠実に翻訳する。
-ヘルプ文章に付属する参考コードを実行した結果と出力画像を、簡易な注釈とともに紹介する。
-すべての組み込みデータセットについても、説明を加える

間瀬は同じ方針で R のプログラミング言語機能をまとめた「 [[Rプログラミングマニュアル, 間瀬茂著, 数理工学社 (2007):http://www.amazon.co.jp/R%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB-%E6%96%B0%E3%83%BB%E6%95%B0%E7%90%86%E5%B7%A5%E5%AD%A6%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-%E6%83%85%E5%A0%B1%E5%B7%A5%E5%AD%A6-1-%E9%96%93%E7%80%AC/dp/4901683500/ref=pd_sbs_fb_img_1/250-7147866-3185009]] 」を出版し、幸いそれなりの評価をいただいて居ります。同じ方針で統計関数に関するマニュアルを出版することをこれまで試みてきましたが、オンラインヘルプ文章(これは厳密に言うとマニュアルではなく、プログラムの一部という位置づけだそうです)のほぼ忠実な訳が中心となることから、オープンソースシステムのライセンス問題を懸念する出版社は二の足を踏むか、また前向きでも出版社が理解不足でこちらからお断りしたこともあります。R のような進化が激しいシステムでは、こうしたマニュアルは賞味期限がありますし、私自身も肉体的問題からこれ以上係わり合いが難しいと感じておりますので、原稿を公開することにしました。ある意味でオープンソース関連マニュアルということで、本来の姿かなとも感じて居ります。索引を含め全部で404ページになりますから、必要な部分だけコピーしてお使いください。
~
~
次のような章から成り立っています。できるだけ網羅的に紹介することを目標としていますが、単に補助的に使われるであろう関数は除いてあります。また間瀬が個人的に興味のあった他パッケージ中の関数も若干紹介してあります。
-序
-基本記述統計
-古典的検定
-時系列
-多変量解析
-線形モデル
-非線形モデル
-平滑化
-行列分解
-最適化
-確率分布、乱数
-組み込みデータセット
-索引
~

[[&size(20){R 基本統計関数マニュアルはここにあります};:http://www.is.titech.ac.jp/~mase/Rstatman.pdf]]。~
~
CRAN の non-English contributed manuals セクションにもあります [[Mase-Rstatman.pdf:http://cran.md.tsukuba.ac.jp/doc/contrib/manuals-jp/Mase-Rstatman.pdf]]。 

注意:マニュアルは主として R2.6,2.7 に基づく。R は常に改良され、新しい関数が追加される一方、廃止される関数もある。既存の関数のオプションも微妙に変わる可能性がある。必ず最新のバージョンのヘルプドキュメントを参照されたい。~
注意:ファイルサイズが大きすぎるせいか、ブラウザー経由では表示されない場合があるようです。一度ダウンロードしてから見てください。~