R2OpenBUGSを使用してOpenBUGS322をRで実行するための基本的な質問があります。
複数の試用スクリプトを実行すると(以下の1つの例を参照)、エラーが発生します
matrix(、n.sims、n.parameters)のエラー:無効な「nrow」値(大きすぎるかNA)
検索の結果、他の人がOpenBUGS322でこれを経験し、OpenBUGS321が正常に機能するはずであることがわかりました。しかし、誰かが古いバージョンをどこで見つけることができるかアドバイスできますか?OpenBUGS321setup.exeが必要ですが、どこにも見つかりません。
(dbus configなどの他のいくつかの問題を修正しました。XQuartzからプロンプトが表示されると、OpenBUGSが開きます)
私が正しい道を進んでいるかどうかを知るための詳細はこちらです。
私はバージョンを実行しています:Mac OS X 10.5.8 Wine 1.4.1 XQuartz 2.6.3 OpenBUGS322
WINEとOpenBUGSのパスが追加されたWinBUGS教科書のトライアルコード(正しいかどうかは100%わかりません)
助けてくれてありがとう。
脚本:
y10<-rnorm(n=10, mean=600, sd=30)
y1000<-rnorm(n=1000, mean=600, sd=30)
summary(lm(y1000~1))
library(R2OpenBUGS)
#setwd("/Users/Pavel/wine/ProgramFiles/OpenBUGS322")
setwd("/Users/Pavel/Documents/R/OpenBUGS")
sink("model.txt")
cat("
model{
population.mean~dunif(0,5000)
precision<-1/population.variance
population.variance<-population.sd* population.sd
population.sd~dunif(0,100)
for(i in 1:nobs){
mass[i]~dnorm(population.mean, precision)
}
}
", fill=TRUE)
sink()
WINE="/opt/local/bin/wine"
WINEPATH="/opt/local/bin/winepath"
OpenBUGS.pgm="/Users/Pavel/wine/ProgramFiles/OpenBUGS322/OpenBUGS.exe"
#Package the data to be handed to OpenBUGS
win.data<-list(mass=y1000, nobs=length(y1000))
#Function to generate starting values
inits<-function()
list(population.mean=rnorm(1,600), population.sd=runif(1,1,30))
#Parameters to be monitored
params<-c("population.mean", "population.sd", "population.variance")
#MCMC settings
nc<-3 #Number of chains
ni<-1000 #Number of draws for each chain
nb<-1 #number of draws to discard as burn -in
nt<-1 #Thinning rate
out<-bugs(data=win.data, inits=inits, parameters.to.save=params, model.file="model.txt", n.thin=nt, n.chains=nc, n.burnin=nb, n.iter=ni, OpenBUGS.pgm=OpenBUGS.pgm, WINE=WINE, WINEPATH=WINEPATH,useWINE=T)