2013-10-25 31 views
1

我使用R中的bayesm包运行分层Lin Regr模型。我有一个数据集,其中包含一个依赖项和6个预测项。有207个独特的受访者,每个受访者有35个观察值。如何将所有从MCMC后验分布图抽取到R中的文件

我开始用

print(out$betadraw) 

然后我看了一下sink功能输出到一个文件中。我认为sink函数将捕获所有的绘制。相反,抽签在一定数量的抽签后被截断。

我需要捕获所有的绘图。另外,是否有可能将bayesm包中的对象传递给coda包以进行收敛诊断?任何帮助将不胜感激。

回答

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的文件)。

+0

感谢您回复。今天晚些时候我会分享数据集和我的代码。同时我也会尝试你的解决方案,看看会发生什么。 – sree

+0

不客气,@SriKowtha。如果这确实解决了您的问题,您可能需要通过点击总票数左边的复选标记来接受*。 – gung

+0

我试过你的建议,它的工作。我确实也接受你的答案作为答案。谢谢! – sree

相关问题