Macでrstanの実行環境を用意する
パソコン買い換えた時にrstanの実行環境を用意した時のメモです。
想定するOS/Rのバージョン
- OS Catalina 10.15.1
- R 3.6.1
手順1.C++コンパイラの導入
Stanの実行に必要なのでc++のコンパイラをPCにいれてない人はこの手順1を行ってください。(他にXcodeというMac向け開発環境からc++を入れる方法もあるようなのですが、自分は失敗しました。)
CRANのサイトからclang-7.0.0.pkgをダウンロードしてインストールしてください。
以上で手順1は完了です。
手順2.rstanのダウンロード
RStan公式のgitリポジトリに従ってrstanのインストールを行います。
古いバージョンのrstanを消します。RStudioのコンソールから次のコマンドを実行しましょう。
remove.packages("rstan")
if (file.exists(".RData")) file.remove(".RData")
最後にRstanのパッケージをダウンロードします。
install.packages("rstan", repos = "https://cloud.r-project.org/", dependencies = TRUE)
以上で、rstan環境が用意完了です。試しにpoisson分布のサンプリングでテストしてみます。
library("rstan")
Poisson.model <- "
data {
int N;
int<lower=0> x[N];
}
parameters {
real<lower=0> lambda;
}
model {
for (n in 1:N) {
x[n] ~ poisson(lambda);
}
}
"
N <- 100
lambda <- 4
x <- rpois(N, lambda)
.data <- list(N = N, x = x)
.fit <- stan(
model_code = Poisson.model ,
data=.data,
iter=2000,
warmup=200
)
stan_hist(.fit)
サンプリングできていれば、成功です。もしrstan実行時に次のようなエラーメッセージが吐かれている場合、c++導入が正しくできてない可能性があるので手順1の方法を試してみると良いかもしれません。
compileCode(f, code, language = language, verbose = verbose) でエラー: Compilation ERROR,
function(s)/method(s) not created! /bin/sh: /usr/local/clang7/bin/clang++: No such file or directory