cucumber flesh

Rを中心としたデータ分析・統計解析らへんの話題をしていくだけ

⭐️RStudioと一緒に学ぶStan

先日開催された「基礎からのベイズ統計学入門」輪読会に参加し、そこでLTをしてきました。スライドが未完成な状態で乗り込んでしまった反省がありますが、スライドの内容について、補足を含めてこの場で紹介したいと思います。 Stanコードを書くならRStudioで決まり!というような内容です。知っている人には当たり前な内容ですが、知らない人もいるかな、という感じで発表させていただきました。

RStudio内で.stanファイルを開く

RStudioとStanの開発チームは仲がいいのか、結構コミュニケーションをとっているっぽい。そのせいか、RStudioはStanをR上で実行する {rstan}パッケージやstanファイルに対する扱いが優遇されている、気がする。.stanファイルをRStudioで開いた際に、以下の機能が有効になります。

  1. シンタックスハイライト
  2. コードスニペット
  3. 入力補完
  4. 構文チェック

それぞれ見てみます。

シンタックスハイライト

RStudioは.rファイルや.Rmdファイルを開くとシンタックスハイライトしてくれるのが良い点ですが、.stanファイルでもこれが有効です。

f:id:u_ribo:20151216084301p:plain

上の画像の左側がテーマ「Dawn」によるハイライト、右側が「Cobalt」テーマでのハイライトです。

エディターのテーマ変更はMacの場合、メニューバーのRStudio -> Preferences -> Appearance から変更可能です。テーマによって見にくかったりどぎつかったりするので、お好みのテーマを設定すると良いでしょう。ちなみに私は「Dawn」テーマが好きです。

qiita.com

コードスニペット・入力補完

RStudioにはコードスニペット機能(よく入力するコードや文章などを少ない入力で呼び出す)がついていて、RファイルだけでなくC++Pythonなどにも対応していて、ますますエディタ感を高めているのですが、こちらの機能も.stanファイルに対しても有効です。

f:id:u_ribo:20151216070908g:plain

こちらも先ほどと同じく、メニューバーのRStudio -> Preferences -> Code -> Edit Snippetsで閲覧・編集できます。よく使う分布型やtransformedブロックに使うものなどを登録しておくと良いかもしれません。

また.stanファイルを編集していると、入力補完機能が有効になります。これはすでに定義したパラメータや、stanコードで使用される構文を入力の候補として表示してくれるもので、シフトキーによって選択することが可能です。コードスニペットと同様、うまく使いこなすと入力の手間を省けます。

qiita.com

構文チェック

f:id:u_ribo:20151216071149p:plain

開いているタブの右上にあるcheckボタンを押すと、stanファイルの構文が正しいか、typoなどがないかを検証してくれます。rstan:::rstudio_stancを実行しているだけなのですが、地味に便利です。

Stanのラッパーパッケージ戦国時代到来か

... というような話もしました。

Stanが台頭してきて、RからStanを動かす{rstan}の普及もあってか、より簡単な表記や便利な出力、機能を備えたラッパーパッケージが続々と出ています。いちいちチェックしているわけではないのですが、これからさらに増えるとなると厄介なので、ここらで一度整理しておきたいです。

あ、ちなみに、最近、Stanの開発チームからStanマニュアルの翻訳の許可が下り、匿名知的集団HOXO-Mの面々を中心に活動が行われている模様です。Wikiの日本語翻訳プロジェクトはすでに始まっています!グローバル承認欲求を満たす好機ですよ、みなさん!!

github.com

Enjoy!