在晶格图形中使用panel.mathdensity和panel.densityplot绘制贝叶斯先验和后验

时间:2013-10-18 14:30:11

标签: r plot lattice bayesian

我正在尝试使用晶格图形绘制贝叶斯先验和后验分布。我希望在一个面板中有两个发行版,以便进行直接比较。

我整天尝试过不同的解决方案,包括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

但只有少数结果,而且它们似乎与我无关。

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

1 个答案:

答案 0 :(得分:1)

我问了一个类似的问题,导致了相同的结果。我得到了答案,这很有用。您可以找到所有内容here