使用ggmcmc包时出错

时间:2013-09-30 15:08:49

标签: r ggplot2

我使用ggmcmc包使用rjags函数生成ggmcmc()包输出的摘要pdf文件。但是,我收到以下错误消息:

> ggmcmc(x, file = "Model0-output.pdf")
Plotting histograms
Error in data.frame(..., check.names = FALSE) : 
arguments imply differing number of rows: 160, 164

当我检查使用ggs()函数创建的输入数据帧的结构时,一切看起来都是正确的。

> str(x)
'data.frame':   240000 obs. of  4 variables:
$ Iteration: int  1 2 3 4 5 6 7 8 9 10 ...
$ Chain    : int  1 1 1 1 1 1 1 1 1 1 ...
$ Parameter: Factor w/ 32 levels "N[1]","N[2]",..: 1 1 1 1 1 1 1 1 1 1 ...
$ value    : num  96 87 76 79 89 95 85 78 86 89 ...
- attr(*, "nChains")= int 3
- attr(*, "nParameters")= int 32
- attr(*, "nIterations")= int 2500
- attr(*, "nBurnin")= num 2000
- attr(*, "nThin")= num 2
- attr(*, "description")= chr "postout0"
- attr(*, "parallel")= logi FALSE

任何人都可以帮我确定导致错误的位置以及如何纠正错误吗?我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:2)

ggmcmc 0.5.1以与先前版本中不同的方式解决了箱数的计算。以前的版本依赖于ggplot2 ::: bin,而0.5.1自己计算bin及其binwidth。

很可能你的情况是某些参数的范围如此极端,以至于舍入误差会使其中一些有一个或多一个二进制位,从而产生这个错误。