ESS は Emacs Speaks Statistics の略である。つまり、Rなどの統計環境をEmacsから操作することが可能になる。
現在、RStudio という非常に良くできたRの統合開発環境があるので、初心者はそちらのほういいかもしれないが、Emacsのキーバインド使い続けたいひとは、是非導入すればよい。
すでにRが導入されているとする。ヴァージョン3.0.1で64ビット版のバイナリをインストールしているとする。
Gnupack をルートに導入しているのなら、C:\gnupack_basic-11.00のconfig.iniに
PATH = %PATH%;C:/Program Files (x86)/Aspell/bin
これでGnupackのEmacsから実行できるようになる。ただCygwin上で実施する際には単に「R」でなく、
R --vanilla
とする必要がある。
ELPAにあるの「list-packages」で「ESS」を選んで導入する。「~/.emacs.s/init.el」には次を記入しておく。
(setq inferior-R-args "--vanilla")
(require 'ess-site)
終了時に、コマンドから「q()」と打つだけエラーメッセージがでる。本質的な影響はないと考えられるが、気持ちが悪いのなら、「C-c C-q」で終わるようにする。
ESSの使い方は、本家のドキュメンテーション
http://ess.r-project.org/index.php?Section=documentation&subSection=manuals
を読むか、日本語なら
http://www.okada.jp.org/RWiki/?ESS
http://d.hatena.ne.jp/a_bicky/20120415/1334490586
http://d.hatena.ne.jp/a_bicky/20120422/1335086814
などを読む。ところどころ古い記事がある。
また、ELPAで「autocomplete.el」を導入済みなら、Rstudioと同様に単語補完が可能になる。さらにstr()やsummary()の内容をポップアップするためには、ELPAから 「ess-R-object-popup.el」 を導入して、「~/.emacs.s/init.el」に
(require 'ess-R-object-popup)
(define-key ess-mode-map "\C-c\C-g" 'ess-R-object-popup)
を書き加える。また、Rstudioとおなじようなオブジェクトをみるのには、内蔵のRdiredだけでなく、「ess-R-data-view.el」も使える。後者はELPAから導入すればよい。
特にinit.elに付け加えることはないが、使い方は
http://sheephead.homelinux.org/2013/05/10/7019/
を参考にすればよい。
すでに「auctex」を導入済みなら、
;; Linking ESS with AucTex
(add-hook 'Rnw-mode-hook
(lambda ()
(add-to-list 'TeX-command-list
'("Sweave" "R CMD Sweave %s --encoding=UTF-8"
TeX-run-command nil t :help "Run Sweave") t)
(setq TeX-command-default "Sweave")))
を「~/.emacs.s/init.el」に付け加えておく。
なおRstudioはSweaveが内蔵のpdflatexを使うため、日本語に対応していない。もしかしたら「Xelatex」でやる方法があるのかもしれないが、私はしらない。EmacsのESSとAuctexを併用して使えば、日本語でのSweaveが可能になる。やり方はまた別の機会に紹介する。
文中のリンク先、間違ってないでしょうか? > http://sheephead.homelinux.org/2013/05/10/7019/
本文中が「ess-R-data-view.el」の間違いでした。ご指摘ありがとうございます。
それと、ess-R-object-popup.elは補完のポップアップできないです><
そうですね、これは、str()やsummary()の内容をポップアップするのですね。ご指摘、ありがとうございます。