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件のコメント
コメントは受け付けていません。