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