R上でWinBUGSを動かすためにR2WinBUGSというパッケージを使っています。
問題は、このコードを実施するとWinBUGSが立ち上がるのですが、WinBUGSで以下のようにlogが出て止まってしまいます。
(ファイルが開けないというエラーメッセージが出てしまいます。)
一時ファイルのフォルダには確かにここで指定されているそれぞれのファイルが存在するので、開けないという問題が何を指しているのかよくわかりません。
どなたか、R2WinBUGSを使ってMCMCを回したことのある方、教えて頂ければ幸いです。
logは以下のようです。
display(log)
check(C:/WinBUGS/GLM_Poisson.txt)
model is syntactically correct
data(C:/WinBUGS/data.txt)
undefined variable
compile(3)
inits(1,C:/WinBUGS/inits1.txt)
command #Bugs:inits cannot be executed (is greyed out)
inits(2,C:/WinBUGS/inits2.txt)
command #Bugs:inits cannot be executed (is greyed out)
inits(3,C:/WinBUGS/inits3.txt)
command #Bugs:inits cannot be executed (is greyed out)
gen.inits()
command #Bugs:gen.inits cannot be executed (is greyed out)
thin.updater(2)
update(500)
command #Bugs:update cannot be executed (is greyed out)
set(alpha)
command #Bugs:set cannot be executed (is greyed out)
set(beta1)
command #Bugs:set cannot be executed (is greyed out)
set(beta2)
command #Bugs:set cannot be executed (is greyed out)
set(beta3)
command #Bugs:set cannot be executed (is greyed out)
set(lambda)
command #Bugs:set cannot be executed (is greyed out)
set(deviance)
command #Bugs:set cannot be executed (is greyed out)
dic.set()
command #Bugs:dic.set cannot be executed (is greyed out)
update(500)
command #Bugs:update cannot be executed (is greyed out)
coda(,C:/WinBUGS/coda)
command #Bugs:coda cannot be executed (is greyed out)
stats()
command #Bugs:stats cannot be executed (is greyed out)
dic.stats()
DIC
history(*,C:/WinBUGS/history.odc)
command #Bugs:history cannot be executed (is greyed out)
save(C:/WinBUGS/log.odc)
save(C:/WinBUGS/log.txt)
コードは
#p64 BUGS言語によるモデルの記述
sink("GLM_Poisson.txt")
cat("
model {
alpha ~ dunif(-20,20)
beta1 ~ dunif(-10,10)
beta2 ~ dunif(-10,10)
beta3 ~ dunif(-10,10)
for (i in 1:n){
c[i] ~ dpois(lambda[i])
log(lambda[i]) <- log.lambda[i]
log.lambda[i] <- alpha + beta1 * year[i] + beta2 * pow(year[i],2) +
beta3 * pow(year[i],3)
}
}
",fill = TRUE)
sink()
bugs.dir <- "c:/Program Files/WinBUGS14"
#データの設定(修正)
mean.year <- mean(data$year) #年の共変量の平均
sd.year <- sd(data$year) #年の共変量の標準偏差
win.data <- list(C = data$C,n = length(data$C),
year = (data$year - mean.year) / sd.year)
#初期値の設定
inits <- function() list(alpha = runif(1,-2,2),beta1 = runif(1,-3,3))
#監視(推定)対象パラメータの設定
params <- c("alpha","beta1","beta2","beta3","lambda")
#MCMCの設定
ni <- 2000
nt <- 2
nb <- 1000
nc <- 3
#RからWinBUGSを呼び出す
out <- bugs(data = win.data, inits = inits, parameters.to.save = params,
model.file = "GLM_Poisson.txt", n.chains = nc, n.thin = nt,
n.iter = ni, n.burnin = nb, debug = TRUE, bugs.directory = bugs.dir,
working.directory = getwd())
print(out,dig = 3)
追加
RStudioのコンソールには
Error in file(con, "rb") : コネクションを開くことができません
追加情報: 警告メッセージ:
file(con, "rb") で:
ファイル 'C:/Program Files(x86)/OpenBUGS/OpenBUGS323/System/Rsrc/Registry.odc' を開くことができません: No such file or directory
bugs.run(n.burnin, bugs.directory, WINE = WINE, useWINE = useWINE, でエラー:
WinBUGS executable does not exist in C:/Program Files(x86)/OpenBUGS/OpenBUGS323
と出ています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。