我正在处理一个R包,它返回Metropolis-Hastings采样器的输出。输出包括矩阵,其中列是变量,行是来自后验的样本。我使用以下代码将这些对象转换为coda
mcmc
个对象:
colnames(results$beta) = x$data$Pops
results$beta = mcmc(results$beta, thin = thin)
其中thin
为183而beta
为21 x 15矩阵(这是一个玩具示例)。 mcmc.summary
方法工作正常,但plot.mcmc
给了我:
Error in plot.new() : figure margins too large
我做了一些调试。所有的值都是有限的,没有NA
's,轴的极限似乎设置正常,并且有足够的面板(2个图,每个有4行和2列)我认为。在强制进入mcmc
对象时,我是否缺少某些内容?
可以在http://github.com/jmcurran/rbayesfst上找到包源和所有相关文件。快速产生错误的脚本位于未导出的函数mytest
中,因此您需要
rbayesfst:::mytest()
让它运行。
有人建议在this问题中已经回答了这个问题,但我想指出的是,我不是设置任何par
值,而是plot.mcmc
所以我的问题不是关于par
或plot
,而是我在将mcmc
对象中的矩阵制作成无法由plot.mcmc
绘制的错误(如果有的话)不能是矩阵的大小,因为我有直接来自rjags
的更多维度的示例,但效果很好。