0

我正在尝试使用格子图形绘制贝叶斯先验和后验分布。我想将两种分布都放在一个面板中,以便直接比较。

我整天都在尝试不同的解决方案,包括qqmath但我没有让它们起作用。这是迄今为止最成功的尝试:

# my data
d <- dgamma(seq(from=0.00001,to=0.01,by=0.00001),shape = .1, scale = .01)

# my plot
densityplot(~d,
        plot.points=FALSE,
        panel = function(x,...) {
          panel.densityplot(x,...)
          panel.mathdensity(
            dmath = dgamma,
            args = list(shape = .1, scale=.01)
            )
        }
        )

尽管代码运行良好,但它并没有达到我想要的效果。它绘制后验 ( d) 但不绘制先验。

如果发生错误,我添加stop("foo")densityplot(...)停止执行,并在线搜索错误消息:

Error in eval(substitute(groups), data, environment(formula)) : foo

但是只有几个结果,它们似乎与我无关。

所以,这是我的问题:任何人都可以用这种方法帮助我实现我想要的吗?

4

1 回答 1

1

我问了一个类似的问题,导致相同的结果。我得到了答案,它很有用。你可以在这里找到一切

于 2013-10-22T18:28:43.620 回答