[[ESS]] --- Emacs Speaks Statistics

* 使用方法
ESS には (i) R を Emacs から使う iESS モード,(ii) R スクリプト作成支援環境を提供する ESS[R] モード,(iii) R ヘルプから Example を実行したりできる help[R] モードがあります.

** iESS
:R 起動 (''M-x R'')| 複数の R を起動することが可能.

:R 終了 (''C-c C-q'')|  関連するバッファも全て消してくれる

:最初からESSモードでemacsを起動する方法| コマンドラインから

// --  SIZE(10){2003-07-23 (水) 17:16:53}
 $ emacs -f R &

//#comment

:コマンド履歴 (''M-p'', ''M-n'')|
:コマンド履歴の検索 (''M-r'', ''M-s'')|
:ヘルプ参照 (''C-c C-v'') |
:オブジェクト一覧 (''C-c C-x'')|

** ESS モード (R モード)
|Emacsの基本編集機能|一文字右に移動|(''C-f'')|
|~|一文字左に移動|(''C-b'')|
|~|一行上に移動|(''C-p'')|
|~|一行下に移動|(''C-n'')|
|~|行頭へジャンプ|(''C-a'') |
|~|行末へジャンプ| (''C-e'') |
|~|バッファの先頭にジャンプ|(''M-<'')|
|~|バッファの末尾にジャンプ|(''M->'')|
|~|指定行にジャンプ|(''M-x goto-line'')|
|~|カーソル位置を削除|(''C-d'')|
|~|カーソルの前を削除|(''C-h'')|
|~|カーソル位置から行末までカット|(''C-k'')|
|ESS Eval| バッファ全体を実行 | (''C-c C-b'') |
|~|選択されている範囲(リージョン)を実行| (''C-c C-r'')|
|~|関数を実行| (''C-c C-f'')|
|~|現在行のみ実行|  (''C-c C-j'') |
|Eval and Go|バッファ全体を実行して*R*バッファへジャンプ | (''C-c M-b'') |
|~|選択されている範囲(リージョン)を実行して*R*バッファへジャンプ | (''C-c M-r'')|
|~|関数を実行して*R*バッファへジャンプ | (''C-c M-f'')|
|~|現在行のみを実行して*R*バッファへジャンプ |  (''C-c M-j'') |
|Motion|新しいオブジェクトを編集| (''C-c C-d'') |
|~|ESSバッファの最終行にジャンプ| (''C-c C-z'') |
|~|ESSバッファへ切り替え|(''C-c C-y'')|
|~|関数の先頭にジャンプ|(''C-M-a'')|
|~|関数の末尾にジャンプ|(''C-M-e'')|
|ESS List|||
|ESS Edit|ファイル名補完|(''M-TAB'')|
|~|オブジェクト名補完|(''C-c TAB'')|
|その他|ファイルの読み込み|(''C-c C-l'')|
|~|Rの起動|''R''|
|~|プロセスの切り替え|(''C-c C-s'')|
|~| <- の挿入(前後の空白つき)|''_'' (アンダーバー)|
加筆をお願いします

// :バッファから R へ直接コマンドを送る|
// 
// -バッファ全体 (''C-c C-b'')
// - 選択されている範囲(リージョン) (''C-c C-r'')
// - 関数 (''C-c C-f'')
// - 一行 (''C-c C-j'')

*** ソースの整形
自動インデント整形機能のためコード入力時に自動的に整形されるが、ごにょごにょ編集して再整形の必要が生じたときには、下記のコマンドを使う。
|選択範囲を整形|(''C-M-\'')|
|式全体の整形|(''C-M-q'')|
|1行のみの整形|''TAB''|
式全体を整形したい場合は、カーソルをその式のコマンド名部分に持ってくる必要がある(ちょっと考えれば当たり前のことなんだけど)。1行のみの場合は、その行のどこにカーソルがあってTABキーを押下すれば、(その場にTABが挿入されるのではなく)正しく整形してくれる。

コメント行の整形では、「#」と「##」の動作が異なるので要注意。コメント文を行頭に持ってきたい場合には、
 ## メイン処理
というように「##」を使う。

** ESS-help
help(foo) で開いたヘルプのバッファにおいて,Example の各行に対して ''l'' で,コンソールバッファにコピーかつ評価される.

----

//------------------------------------------------------------
* ESS 利用の流れ
** 例1:関数を書いてロードする

R 起動
 M-x R

オブジェクト名を決める ~
バッファが用意される
 C-c C-d: オブジェクト名

オブジェクト(関数など)記述
  my.func <- function()
  {
    print( "hello" )
  }

オブジェクトを R 環境にロードする ~
ここでは今書いた ''my.func()'' 関数をロード ~
''my.func()'' 末尾の ''}'' の後ろで,
  C-c M-f

R 実行環境に移動する
  C-c C-y

----
* 便利な関数
** スクリプト作成中にヘルプを見る
ESS[R] モードで関数やスクリプトを書いているときに「あの関数のヘルプを見たい」場合は
  M-x ess-help 関数名
でヘルプバッファが開きます.関数名の補完もしてくれます.

** Emacs を利用しているものとは異なる計算機でスクリプトを実行する


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