毒くらわば皿まで

rstan 2.10が来てますね。

2.9とちがって,式の代入が< -から=にすることが推奨されているようで,そうなっちゃうと今までのコードも全部書き換えないといけない。
とはいえこれから先はこうなるってんなら,早めに対応しておこうか,と母艦などのパッケージを思い切ってアップデート!

本艦のMacはすんなりアップデートでき,サンプルとして昔ながらの8schoolsを試したら,無事に走りました。もっともエラーとして,


DIAGNOSTIC(S) FROM PARSER:
Warning (non-fatal): assignment operator < - deprecated in the Stan language; use = instead.

って言われちゃいましたけどね。あー,やっぱりかー(当たり前だ)と。

で,書き直しなんだけど,よく見たら


theta[j] = mu + tau * eta[j];

だけでなく,モデルセクションも


model {
target += normal_lpdf(eta | 0, 1);
target += normal_lpdf(y | theta, sigma);
}

って変わってるのね。もとは


model {
eta ~ normal(0, 1);
y ~ normal(theta, sigma);
}

だったんですよ。

ともかくこれで走りました。コンパイルの時にちょっと警告が出たけどね。
これからは,コンパイル時のこの警告を潰していかないといけません。うう,やっと関数が出来上がったと思ったら・・・(苦笑)

Warning (non-fatal): assignment operator <- deprecated in the Stan language; use = instead.
Warning: Deprecated function 'normal_log'; please replace suffix '_log' with '_lpdf' for density functions or '_lpmf' for mass functions

 

ついでに,とMacの上の仮想Windowsは,っとみたら,Rが3.2で止まってた。R3.3.1にあげて,rstanもアップデートする。

ここでRtoolsのバージョン違いがあってうまくいかなかった。最新版Rtools34はダメみたいで,Rtools33にしか対応してないみたい。でそこからが大変。コンパイル系のエラーが出まくって,rstanがうまく入りません!

仕方がないので,RもRtools33もRstudioもぜんぶアンインストール&再インストールしてから,install.packages("rstan")した。コンパイル時になんか警告が出たっぽいけど,これでやっとインストールできました。
ちなみにrstudioapiとかcolorなんとかってパッケージが入らないみたいで,要求されるままに手動で入力。ちょっと面倒だったな。今度学生に準備させるんだけど,事前に練習しておいてよかったよ・・・。

最後に Ubuntu。久しぶりに起動したので,システムそのもののアップデートをして,インストール。何だかうまくいかなかったんだけど,最終的にソースからコンパイルするとうまく走りました。Windowsより簡単ではあったな。

 

ともあれ,よいこのみんなは締め切りが迫っている中,環境を変えるのは良く無いってことを覚えておこうね!

1件のコメント

コメントは受け付けていません。