R2WinBUGS - how to reload the WinBUGS computation results to bugs object again
I have run a looong computation in WinBUGS (million iterations) using the R2WinBUGS package from within R:
bugs.object <- bugs(...)
but the R crashed. How do I reload the bugs.object into R again without running winbugs again? I tried this (I have 3 chains):
out <- read.bugs(paste("coda", 1:3, ".txt", sep = ""))
but the out
data structure is completely diferent from the bugs object (as it is, it is unusable). I tried to convert it with as.bugs.array
:
bugs.object <- as.b开发者_如何学Cugs.array(out, model.file = "ttest.txt", n.iter = 1000000, n.burnin = 300000, n.thin = 2, program = "WinBUGS")
but it doesn't work. Please help. Thanks.
It is likely that you are reading a error message, where R ran out of memory to create the bugs.array
object.
You can get round this problem by setting the codaPkg=T
statement in the bugs
function. This saves the CODA files in your specified working directory rather than creating the R2WinBUGS object (before R crashes). Then you can read the coda files back in using read.mcmc
in the coda package, and if you really want, convert the mcmc
object to a bugs.array
.
This might not work if your MCMC is too big or you do not have enough memory for R.
精彩评论