r - 在直方图上叠加正态分布

标签 r ggplot2 histogram normal-distribution

Possible Duplicate:
ggplot2: Overlay histogram with density curve

抱歉,这可能是一个简单的问题,但我有一个问题。

我创建了一个基于二项分布的直方图,平均值 = 0.65,标准差 = 0.015,包含 10000 个样本。直方图本身看起来不错。但是,我需要在此之上叠加正态分布(具有相同的平均值和标准差)。目前,我有以下内容:

qplot(x, data=prob, geom="histogram", binwidth=.05) + stat_function(geom="line", fun=dnorm, arg=list(mean=0.65, sd=0.015))

出现了一个分布,但它很小。这可能是因为均值计数几乎达到 2,000,而正态分布要小得多。简而言之,它没有像 R 自动那样拟合数据。有没有办法指定正态分布的线来拟合直方图,或者有什么方法可以操纵直方图来拟合正态分布?

提前致谢。

最佳答案

“分布很小”,因为您正在绘制计数上的密度函数。您应该在两个图中使用相同的指标,例如:

我尝试为您的示例生成一些数据:

x <- rbinom(10000, 10, 0.15)
prob <- data.frame(x=x/(mean(x)/0.65))

并将两者绘制为密度函数:

library(ggplot2)
ggplot(prob, aes(x=x)) + geom_histogram(aes(y = ..density..), binwidth=.05) + stat_function(geom="line", fun=dnorm, arg=list(mean=0.65, sd=0.015))

enter image description here

关于r - 在直方图上叠加正态分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8111351/

相关文章:

java - 从数组值制作非图形直方图

按行名删除一堆行 - 如何在 R 中初始化空字符串?

r - 在 geom_tile 中按面拆分重叠的图 block

python - 具有分级范围的 Pandas 条形图

r - 当使用 `scale_x_log10` 时,如何将 `geom_text` 准确映射到 `geom_bin2d` ?

r - 在 R 中创建一个函数,使所有 ggplot 组件更加透明

r - 制作智能多级直方图

r - 将文献引用放入 Rmd 的表格中

algorithm - 涉及 3 个硬币的 EM 问题

r - 使用 auto.Arima() 和 xreg 进行 ARIMA 预测