ggplot2中的直方图,具有预定义的概率值

时间:2016-08-25 00:45:33

标签: r ggplot2 histogram

我试图在ggplot2中创建自己的直方图,其中我向ggplot2提供向量中每个参数值的概率,而不是从单个向量计算概率值本身。

玩具数据:

这是参数值

p <- seq(from = 0.05, to = 0.95, by = 0.1)

我为每个人分配一个重量

prior <- c(1, 5.2, 8, 7.2, 4.6, 2.1, 0.7, 0.1, 0, 0)

然后计算每个权重的先验概率

prior <- prior/sum(prior)

现在使用plot()函数,我们可以使用这两个向量

创建直方图
plot(p, prior, "h", ylab = "prior probability")

但是如何在ggplot2中获得类似的图形呢?

如果我尝试将这些放入数据框

gDF <- data.frame(p = p, priorProb = prior)

然后绘制图表

ggplot(gDF, aes(x = p, y = priorProb)) + geom_histogram()

我得到错误Error: stat_bin() must not be used with a y aesthetic,这是有道理的,因为通常对于直方图ggplot只使用单个向量。

任何有用的帮助。

1 个答案:

答案 0 :(得分:2)

ggplot(gDF, aes(x = p, y = priorProb)) + geom_bar(stat = "identity")

Looks