我在WinBUGS (百万次迭代)中使用R2WinBUGS包从R中运行了一个looong计算:
bugs.object <- bugs(...)但R坠毁了。如何在不再次运行winbug的情况下将bugs.object重新加载到R中?--我尝试过这样做(我有3条链):
out <- read.bugs(paste("coda", 1:3, ".txt", sep = ""))但是out数据结构与but对象完全不同(尽管如此,它是不可用的)。我试着用as.bugs.array来转换它
bugs.object <- as.bugs.array(out, model.file = "ttest.txt", n.iter = 1000000, n.burnin = 300000, n.thin = 2, program = "WinBUGS")但不起作用。请帮帮忙。谢谢。
发布于 2012-06-04 12:07:52
很可能您正在读取一条错误消息,其中R耗尽了创建bugs.array对象的内存。
您可以通过在codaPkg=T函数中设置bugs语句来解决这个问题。这将将CODA文件保存在指定的工作目录中,而不是创建R2WinBUGS对象(在R崩溃之前)。然后,您可以在coda包中使用read.mcmc读取coda文件,如果确实需要,可以将mcmc对象转换为bugs.array。
如果您的MCMC太大,或者您没有足够的内存供R.
https://stackoverflow.com/questions/7323929
复制相似问题