【问题标题】:Histogram in ggplot2 with pre-defined probability valuesggplot2 中具有预定义概率值的直方图
【发布时间】:2016-08-25 00:45:33
【问题描述】:

我正在尝试在 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 只使用单个向量。

任何帮助。

【问题讨论】:

    标签: r ggplot2 histogram


    【解决方案1】:
    ggplot(gDF, aes(x = p, y = priorProb)) + geom_bar(stat = "identity")
    

    【讨论】:

    • 啊,是的。如此明显。我死板地想着。而且我想您可以在geom_bar() 中使用width = 0.01 参数来使条形看起来更像plot("h") 函数中的直方图条形。谢谢@Nathan Day。
    猜你喜欢
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多