- 追加された行はこの色です。
- 削除された行はこの色です。
- 人探し は削除されています。
- 人探し の差分を削除
[[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 を利用しているものとは異なる計算機でスクリプトを実行する