このページでは,
  R FAQ
  Frequently Asked Questions on R
  Version 1.7-27, 2003-07-16
  ISBN 3-901167-51-X
  Kurt Hornik
(http://cran.r-project.org/doc/FAQ/R-FAQ.html) の第 6章の日本語訳に取り組みます.
(http://cran.r-project.org/doc/FAQ/R-FAQ.html ) の第 6章の日本語訳に取り組みます.

- 担当者: yy
- 修正案の取扱い: みなさまからの修正案は, 下記のコメント欄に書いていただければと思います. 修正そのものは (当面は) 担当者が行います.
- 分担翻訳の取扱い: 期限を区切って, それまでの間は担当者がひととおりの翻訳を行い, その後, 他の方に翻訳の分担をお願いすべきか検討したいと思います (期限: 2003年 8月 31日まで). よろしくお願いします.
- 注意点: そのまま訳すと意味がわかりにくくなりそうな場合, オリジナル (英文) の表現やレイアウト等を変更しています.
- 注意点: 訳注は { } で囲って示します.

#comment
//#comment

----

* R-FAQ 日本語訳全体の目次

- [[R-FAQ日本語訳]] (ルート・ページ)
- [[1. 導入 (Introduction)>R-FAQ日本語訳(1章)]]
- [[2. R の基礎 (R Basics)>R-FAQ日本語訳(2章)]]
- [[3. R と S (R and S)>R-FAQ日本語訳(3章)]]
- [[4. R の Web インターフェイス (R Web Interfaces)>R-FAQ日本語訳(4章)]]
- [[5. R のアドオン・パッケージ (1) (R Add-On Packages)>R-FAQ日本語訳(5.1章)]]
- [[5. R のアドオン・パッケージ (2-6) (R Add-On Packages)>R-FAQ日本語訳(5.2-6章)]]
- [[6. R と Emacs (R and Emacs)>R-FAQ日本語訳(6章)]]
- [[7. R について雑多なこと (R Miscellanea)>R-FAQ日本語訳(7章)]]
- [[8. R のプログラミング (R Programming)>R-FAQ日本語訳(8章)]]
- [[9. R のバグ (R Bugs)>R-FAQ日本語訳(9,10章)]]
- [[10. 謝辞 (Acknowledgments)>R-FAQ日本語訳(9,10章)]]

----

* 6 R と Emacs (R and Emacs)

- R に対する Emacs のサポートはありますか? (Is there Emacs support for R?)
- Emacs の中から R を実行すべきでしょうか? (Should I run R from within Emacs?)
- Emacs の中から R をデバッグする (Debugging R from within Emacs)

** 6.1 R に対する Emacs のサポートはありますか? (Is there Emacs support for R?)

統計処理プログラムとプロセスとの間の標準的なインターフェイスを提供する, ESS ("Emacs が統計学を話す (Emacs Speaks Statistics)") と呼ばれる Emacs パッケージがあります. これは, 対話的な統計処理プログラミングとデータ解析を支援することを目的としています. つぎの言語をサポートしています: S 系統の言語 (S 3/4, S-PLUS 3.x/4.x/5.x, および R), LispStat 系統の言語 (XLispStat, ViSta) および SAS. Stata および SPSS 系統の言語 (SPSS, PSPP) のサポートは, 将来, 実装可能かどうか検討中です.

(GNU Emacs の S/S-PLUS ヴァージョン 3 のみとのインターフェイスだった) S-mode 4.8 への拡張, およびバグ・フィクスの必要性から, ESS が生じました. 現在の開発者たちの組が, XEmacs, R, S4, および MS Windows に対するサポートを希望しました. 加えて, R, Stata, および SAS に対して新しいモードが開発されるに伴い, 統一したインターフェイスおよびユーザー・インターフェイスの枠組が, 両方のグループが標準的な Emacs の用法に従うのを手助けすることによって, ユーザーと開発者の両方に利益をもたらすと思われました. その最終結果は, 通常のツールを超えて, 統計処理プログラミングとデータ解析の効率の向上をもたらしました.

R のサポートには下記を実行するためのコードが入っています:
- R のソース・コードの編集 (ソースコードの構文的な字下げとハイライト, コードの部分的な評価, コードのロードとエラーのチェック, およびソース・コードの修正 (リヴィジョン) の管理)
- 文書の編集 (ソースコードの構文的な字下げとハイライト, 動作中の ESS プロセスに実行例を送ること, およびプレヴュー)
- Emacs 内部からの下位の (inferior) R プロセスとの対話 (コマンドラインでの編集, 検索可能なコマンド履歴, R のオブジェクトおよびファイル名のコマンドラインでの補完, オブジェクトおよび検索リストへの迅速なアクセス, transcript の記録, および help システムとのインターフェイス)
- transcript の操作 (transcript ファイルの編集・保存, 保存された transcript の操作・編集, および transcript ファイルからのコマンドの再評価)

ESS の最新の安定ヴァージョンは, CRAN あるいは ESS の web ページから入手可能です. HTML ヴァージョンの文書は, http://stat.ethz.ch/ESS/ で見つけることができます.

ESS には, 詳細なインストールの説明書が添付されています.

ESS について助力を求めるには ESS-help@stat.ethz.ch 宛に email を送ってください.

ESS-bugs@stat.math.ethz.ch 宛に ESS についてのバグ報告および示唆を送ってください. そのためのいちばん簡単な方法は, Emacs 内部で M-x ess-submit-bug-report とタイプするか, あるいは [ESS] か [iESS] のプルダウン・メニューを利用することです.

** 6.2 Emacs の中から R を実行すべきでしょうか? (Should I run R from within Emacs?)

絶対にそうすべきです. 下位の R モードは, readline/history の仕組み, オブジェクト名の補完, 対話バッファー (interaction buffer) の構文ベースのハイライト機能 (Font Lock モードを利用), そして, 非常に便利な R の help システムとのインターフェイスを提供します.

もちろん, これは, Emacs を用いて R のソースを編集するための仕組みとすばらしく良く融合しています. 1つの Emacs のバッファーでコードを書き, その全体あるいは一部を実行のために R に送ることができます. これは, データ解析とプログラミングの両方に役に立ちます. また, 修正 (リヴィジョン) 管理システムとシームレスに融合させることができて, あなたのプログラムやデータにおける変更履歴を管理したり, コードの過去のヴァージョンを取り戻すこともできます.

さらに, あなたが実行しているセッションの記録を取ることができます. この記録は, transcript モードの利用により, エラーからの回復にも利用できます.

下位の R プロセスに対するコマンド・ライン引数を指定するには, C-u M-x R を用いて R を起動してください.

** 6.3 Emacs の中から R をデバッグする (Debugging R from within Emacs)

R を "Emacs の内部から" デバッグするには, いくつかの可能な方法があります. Emacs GUD (大統一デバッガー (Grand Unified Debugger)) ライブラリーを, その推奨デバッガー GDB と共に用いるには, M-x gdb とタイプし, 引数として R バイナリーへのパスを指定してください. gdb のプロンプトで, R_HOME およびその他の環境変数を必要に応じてセットし (たとえば, set env R_HOME /path/to/R/ ですが, 下記もご参照ください), そして望みの引数でバイナリーを起動してください (たとえば, run --vsize=12M).

もしも, ESS があるならば, C-u M-x R <RET> - d <SPC> g d b <RET> とタイプすることで, 下位の R プロセスを引数 -d gdb 付きで起動することができます.

第 3の選択肢は, ESS 経由で下位の R プロセスを起動し (M-x R), それから GUD を起動して (M-x gdb), デバッグすべきプログラムとしてその R バイナリーを指定するというものです. ps プログラムを用いて, 現在動作している R プロセスのプロセス番号を見つけ, それから, gdb の attach コマンドを用いて, そのプロセスを gdb に所属 (attach) させてください. この方法の有利な点は, 分離した *R* と *gud-gdb* ウインドウを持つことができることです. この *R* ウインドウの中で, ESS の便利な機能 (たとえば, オブジェクト名の補完) をすべて使用することができます.

Emacs の内部からデバッグするために GUD モードを用いる際に, デバッグ対象のコードが入っているディレクトリーを現在の作業ディレクトリー (カレント・ワーキング・ディレクトリー) として用い, それから, そのディレクトリーから R バイナリーへのシンボリック・リンクを作ると非常に便利だと感じるかもしれません. そのように .gdbinit は, コードのあるディレクトリーにとどまることができ, そのソースに対する環境および検索パスを, たとえば下記のように設定するために用いることができます:

  set env R_HOME /opt/R
  set env R_PAPERSIZE letter
  set env R_PRINTCMD lpr
  dir /opt/R/src/appl
  dir /opt/R/src/main
  dir /opt/R/src/nmath
  dir /opt/R/src/unix

----

{ 6章おわり }

最終更新日: 2003-08-11 (月) 20:48:45

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS