[英]R2WinBUGS - how to reload the WinBUGS computation results to bugs object again
我使用R中的R2WinBUGS包在WinBUGS(百萬次迭代)中運行了一個looong計算:
bugs.object <- bugs(...)
但是R墜毀了。 如何在不再運行winbugs的情況下將bugs.object重新加載到R中? 我試過這個(我有3個鏈):
out <- read.bugs(paste("coda", 1:3, ".txt", sep = ""))
但out
數據結構與bug對象完全不同(因為它是不可用的)。 我試着用as.bugs.array
轉換它:
bugs.object <- as.bugs.array(out, model.file = "ttest.txt", n.iter = 1000000, n.burnin = 300000, n.thin = 2, program = "WinBUGS")
但它不起作用。 請幫忙。 謝謝。
您可能正在閱讀錯誤消息,其中R內存bugs.array
創建bugs.array
對象。
您可以通過在bugs
函數中設置codaPkg=T
語句來解決此問題。 這會將CODA文件保存在指定的工作目錄中,而不是創建R2WinBUGS對象(在R崩潰之前)。 然后你可以使用coda包中的read.mcmc
讀取coda文件,如果你真的想要,可以將mcmc
對象轉換為bugs.array
。
如果您的MCMC太大或者沒有足夠的內存用於R,這可能不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.