绘制密度图以显示可能性

时间:2018-02-06 16:24:12

标签: r ggplot2 bayesian probability-density

我想绘制可能性计算的概率密度分布(贝叶斯统计中)。 Theta代表真正的成功率。

如果我尝试绘制可能性计算的概率:

sub_master

生成的图表如下:

enter image description here

这是因为概率值的密度值非常高并且以0为中心,即似然值为0.0001,0.0002,0.0003等的可能性极低。 k <- 10 # number of successes n <- 100 # number of trials likelihood <- as.data.frame(dbinom(x=k, size=n, prob=seq(0.0001, 0.9999, length.out=10000), log = FALSE)) ggplot(likelihood, aes(x=likelihood[,1])) + geom_density(fill="lightgreen") + labs(title = "Theta 1 Likelihood", x = "Proportion", y = "Density") 看起来稍微好一些,但它仍然不是我所追求的。

有没有办法更改图表,以便能够以更加图形可见的分布绘制概率?我希望能够在不绘制直方图的情况下做到这一点。这是我想要的目标图:

enter image description here

1 个答案:

答案 0 :(得分:0)

一位朋友告诉我,我基本上是在计算密度的密度;我从密度分布(dbinom)获得密度图。所以我应该做的是将x与y进行绘图,而不是绘制密度分布。这可以通过geom_point完成(有很多点,它看起来像一条曲线):

k <- 10   # number of successes
n <- 100  # number of trials
proportion <- seq(0.0001, 0.9999, length.out=10000)
density <- dbinom(x=k, size=n, prob=seq(0.0001, 0.9999, length.out=10000), log = FALSE)
likelihood <- as.data.frame(cbind(proportion, density))
ggplot(likelihood1, aes(x=likelihood1[,1], y=likelihood1[,2])) + geom_point(size = 0.1) +
  labs(title = "Theta 1 Likelihood", x = "Proportion", y = "Density")

enter image description here

使用&#39; ggplot&#39;的更简单的替代方案包括:

plot(proportion, density)
qplot(proportion, density)