Emacs で R 言語を利用するための設定メモ (ESS)

    はじめに

    最近, 統計学と R 言語をさわり始めた.

    なぜなら, 本屋にいくとビッグデータやら, データマイニングやら, データサイエンティストやら, そんな単語がポンポン目に入るから.

    ということで, まずは Emacs で R 言語を快適に利用するための設定をしてみた.

    もちろん, RStudio なんて便利なものは知っているがね.

    ESS

    Emacs を統計用 IDE にするツール. デファクトスタンダードと言えよう.

    起動は M-x R.

    (setq load-path (cons "/usr/share/emacs/site-lisp/ess" load-path))
    (when (locate-library "ess-site")
      (require 'ess-site)
    
    (setq auto-mode-alist
          (cons (cons "\\.[rR]$" 'R-mode) auto-mode-alist))
    (autoload 'R-mode "ess-site" "Emacs Speaks Statistics mode" t)
    
    
    ;; R 起動時にワーキングディレクトリを訊ねない
    (setq ess-ask-for-ess-directory nil)

    ESS Auto-complete

    R 言語の入力自動補完をするために, auto-complete を利用する.

    (when (locate-library "ess-site")
    (setq ess-use-auto-complete t)
    ;; (setq ess-use-auto-complete 'script-only)
    )

    ESS R Data View

    データの中身がみれる.

    ;; (define-key ess-mode-map (kbd "C-c v") 'ess-R-dv-ctable)
    (define-key ess-mode-map (kbd "C-c v") 'ess-R-dv-pprint)

    popwin と組み合わせると便利.

    ess-R-object-popup

    オブジェクトの中身をポップアップで表示.

    (when (locate-library "ess-site")
    (require 'ess-R-object-popup)
    (define-key ess-mode-map "\C-c\C-g" 'ess-R-object-popup)
    )

    gist 版は古いようだ.

    no ESS process is associated with this buffer というエラー がでたら C-c C-s を叩く.

    helm-R

    helm インタフェースで 関数のヘルプをひくことができる.

    (when (locate-library "ess-site")
    (require 'helm-R)
    (define-key ess-mode-map "\C-ch" 'helm-for-R)
    (define-key inferior-ess-mode-map "\C-ch" 'helm-for-R)
    )

    org-babel-R

    org-mode で R を利用する.

    (when (locate-library "ess-site")
    (org-babel-do-load-languages
     'org-babel-load-languages
     '((R . t)))
    )

    R 言語と org-mode で Reproducible Research を.

    以下のようにタグでソースを加工する. C-c C-c で評価する.

    #+begin_src R :file age_at_intake.png :width 400 :height 400 :results graphics

    #+end_src

    おわりに

    半分以上のパッケージが myuhe さんが作成したものだと気づく. すごい. Special Thanks!