修改 ggmcmc 图中的族参数

modifying the family parameter in ggmcmc plots

我正在通过 R 使用 BUGS 软件进行贝叶斯分析,我利用 ggmcmc 包进行贝叶斯推理。

在我最近的示例中,我监控了一个完整的参数矩阵 b,尺寸为 5x8。现在,如果我直接使用 ggmcmc 包中的图,参数太多以至于我在输出后验图中看不到任何东西。

例如ggs_histogram

现在 ggmcmc 中的绘图函数有一个名为 family 的参数,您可以使用它来 select 参数子集以包含在绘图中。在官方包页面中,它说你必须将 family 设置为与你想要的参数匹配的正则表达式,如果你有参数 a,b 并且你想绘制 b(family='b').

现在我想从我提到的 b 矩阵中仅绘制一列元素,例如 b[1,1],b[2,1],b[3,1],...,b [8,1]

所以我尝试以通常的方式对其进行子集化,例如 family='b[,1]'。

Error in seq.default(mn, mx, by = bw) :

'from' cannot be NA, NaN or infinite

In addition: Warning messages:

1: In min(x) : no non-missing arguments to min; returning Inf

2: In max(x) : no non-missing arguments to max; returning -Inf

有什么想法吗?也许是正确的正则表达式或 ggplot facet_grid 运球?

最终,ggmcmc 包官方 pdf 文档包含了我正在寻找的所有信息。我对正则表达式的需求是正确的,并且该包的教程对正则表达式预期具有的形式提供了非常丰富的信息。

所以如果我想推断参数矩阵第一列的元素,

family='b\[.,1\]'

可以很好地完成这项工作。这适用于 ggmcmc 包的任何推理函数。