如何在r中一起绘制直方图和pdf

时间:2014-04-15 18:30:07

标签: r plot histogram probability-density

我想在gamma(lambda,k)之后用直方图叠加拟合模型的PDF。 我写道:

hist(pressure)
curve(dgamma(x, lambda, k), add=TRUE, col="red")

但我对这个价值感到困惑" x"是。 有人帮忙吗?

3 个答案:

答案 0 :(得分:2)

x <- rgamma(100,2,1) #sample
h <- hist(x, plot=FALSE) #generate hist
plot(h, col="grey") #plot hist
xlines <-seq(min(h$breaks),max(h$breaks),length.out=100) #seq of x for pdf
lines(x = xlines,y=dgamma(xlines,2,1) *length(x)*diff(h$breaks)[1])

Histogram with PDF

答案 1 :(得分:0)

x是要获取PDF值的支持值的向量。您可能想比较

plot(dgamma(1:20, shape=1))

第一个http://en.wikipedia.org/wiki/Gamma_distribution(参数1)

答案 2 :(得分:0)

truehist()来自MASS包并缩放计数以估计概率密度。

使用lines()density()函数在直方图上叠加权重值的密度图。

library(MASS)

truehist(mtcars$mpg) #mtcars dataset available in base R

lines(density(mtcars$mpg))

enter image description here

  • 更新: Onc可以使用 ggplot2 库中的ggplot()函数绘制相同的图。

    库(GGPLOT2)

    ggplot(mtcars,aes(x = mpg))+ geom_histogram(aes(y = .. density ..),binwidth = 1)+ geom_density()