如何将MCMC后验分布中的所有绘制保存到R中的文件中

时间:2013-10-25 23:39:51

标签: r bayesian

我正在使用R中的bayesm包运行Hierarchical Lin Regr模型。我有一个包含一个依赖项和6个预测变量的数据集。有207个独特的受访者,每个受访者有35个观察结果。

我开始使用

print(out$betadraw)

然后我读到sink函数将out$betadraw输出到文件。我认为sink函数会捕获所有绘图。相反,抽奖在一定数量的抽奖后被截断。

我需要捕捉所有的抽奖。此外,是否可以将对象从bayesm包传递到coda包以进行收敛诊断?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果没有reproducible example,很难确定发生了什么。

您应该能够使用?file打开文本连接,并将open参数设置为write。然后,您可以使用?write并将append参数设置为TRUE来捕获输出并将其写入文件。以下在我的机器上工作正常:

> zz <- file(description="some name.txt", open="w")
> isOpen(zz)
[1] TRUE
> for(i in 1:100000){
+   x <- rbeta(1000, shape1=10, shape2=10)
+   write(x, file=zz, append=TRUE)
+ }
> close(zz)

注意,我不会尝试运行它;它花了近半个小时创建了一个只能用EditPad打开的962 MB文件。