我试图在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只使用单个向量。
任何有用的帮助。