22
apply(R ,self ,Emacs)

Apply(r ,self ,emacs)

  • Upload
    myuhe

  • View
    1.030

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Apply(r ,self ,emacs)

apply(R ,self ,Emacs)

Page 2: Apply(r ,self ,emacs)

今日のお品書き• Rのこと• Rユーザから見たEmacs• ESSのこと• ESS拡張• 実演

Page 3: Apply(r ,self ,emacs)
Page 4: Apply(r ,self ,emacs)

R(GNU R)

・統計解析向けプログラミング言語、またはその処理系

・商用ソフトウェアで動作するS言語とシンタックスまわりはほぼ互換

・CRANで管理されている膨大なパッケージ群(2658)

・最近では商用統計解析ソフトウェアも、バックエンドでR動かしてる。統計解析界隈はRの独壇場

・Googleとかfacebookも使っているらしいよ!!

Page 5: Apply(r ,self ,emacs)

いろいろ変なところも

・誰が使うんだ RLastFM 、twitteR・Cなシンタックスだと思われてるけど、実はS式・CLOSなオブジェクト指向だったのが、ふつーのオブジェクト指向に移行ちう

・誰も使わないドット対リストとか・Sのださいところをひきずっている。

Page 6: Apply(r ,self ,emacs)

Rもすでに時代遅れ?

• I’ve come to the conclusion that rather than“fixing” R, it would be much more productive to simply start over and build something better.

つっても、有力な後継者も今のところいないのでしばらくは、安泰なのではないでしょーか。

Page 7: Apply(r ,self ,emacs)
Page 8: Apply(r ,self ,emacs)

突然ですが質問です。

Page 9: Apply(r ,self ,emacs)

あなたは、なぜEmacsを選んだのですか

Page 10: Apply(r ,self ,emacs)

選択肢がEmacs

しかなかった!!

Page 11: Apply(r ,self ,emacs)

R FAQ http://cran.r-project.org/doc/FAQ/R-FAQ.html

Should I run R

from within Emacs?

Page 12: Apply(r ,self ,emacs)

Yes, definitely.

Page 13: Apply(r ,self ,emacs)

いろいろ環境はあるんですけど

EclipseGeditnotepad++XyzzyTinn-R

Page 14: Apply(r ,self ,emacs)

なんかね。。。

Page 15: Apply(r ,self ,emacs)
Page 16: Apply(r ,self ,emacs)

ESS(Emacs Speaks Statics)・Emacsの拡張。1992年に開発を開始・統計解析用言語をいろいろとサポート (R, S-Plus, SAS, Stata 、JAGS)

・開発が活発。頻繁にアップデート(メジャーバージョンアップは今年すでに5回)

・MLに投げられたコードもガンガン取りこむ。Contrib に眠ったままのものもちらほら

・シンタックスハイライト、ヘルプ引き、ソースコードの実行などなど一通りの機能

・ヘルプドキュメント(TeXライクな文法)作成を支援するモードなどもあり。

Page 17: Apply(r ,self ,emacs)

ちなみに。。。

ess-smart-underscore

smartchr.vim

smartchr.el(IMAKADOさん作)

世の中、狭いですなー

Page 18: Apply(r ,self ,emacs)

ココ

Page 19: Apply(r ,self ,emacs)

ESSは便利だけど

・いろいろと物足りない。 auto-complete.el とか anything.el使いたい・MLにauto-complete.elの話題が出るも無視・そもそもESSの開発陣に日本人いない。・ESSユーザでさえ、elisp書ける人いなさそうorz

・しょうがないので自分で作った。

Page 20: Apply(r ,self ,emacs)

・auto-complete-acr.el インテリセンス。オムニ補完とかも・ess-R-object-popup.el 空気読んでオブジェクトの情報をポップアップ・anything-R.el anything.elのインターフェイスで ヘルプ見たり パッケージをインストールしたりロードしたり

Page 21: Apply(r ,self ,emacs)

Emacsなんて古くさい?

・メジャーな言語ならそうなのかも・Rのようなマイナー言語からすれば 今も、恐らくこれからも最強の開発環境。・マイナー言語にも優しいというのが Emacsの一番良い所かも。

Page 22: Apply(r ,self ,emacs)

おしまい