我通过R使用BUGS软件进行贝叶斯分析,并利用ggmcmc软件包进行贝叶斯推理。
在我最近的例子中,我在监视器下有一个完整的参数矩阵b,尺寸为5x8。现在如果我直接使用ggmcmc包中的一个图,参数太多了,以至于我无法在输出后验图中看到一个东西。
e.g。 ggs_histogram
现在ggmcmc中的绘图函数有一个名为family的参数,您可以使用它来选择要包含在绘图中的参数子集。在官方的包装页面中,它表示你必须将族等同于一个与你想要的参数相匹配的正则表达式,如果你让我们说参数a,b并且你想要绘制b(family = ' b&#39)。
现在我想从我提到的b矩阵中只绘制一个列元素,例如b [1,1],b [2,1],b [3,1],...,b [8 ,1]
所以我尝试按常规方式对其进行子集化,例如family =' b [,1]'。
seq.default中的错误(mn,mx,by = bw):
'从'不能是NA,NaN或无限
另外:警告信息:
1:在min(x)中:min没有非缺失参数;返回Inf
2:在max(x)中:max没有非缺失参数;返回-Inf
有什么想法吗?也许正确的正则表达式或ggplot facet_grid运球?
答案 0 :(得分:2)
最终,ggmcmc软件包官方pdf文档包含了我正在寻找的所有信息。我对正则表达式的需要是正确的,并且包的教程对于正则表达式预期具有的形式非常有用。
所以,如果我想让我们说推断参数矩阵第一列的元素,
family='b\\[.,1\\]'
会做得很好。这适用于ggmcmc包的任何推理功能。