我想gamma(lambda,k)
用直方图叠加拟合模型的 PDF。我写的 :
hist(pressure)
curve(dgamma(x, lambda, k), add=TRUE, col="red")
但我对“x”的值是什么感到困惑。有人帮忙吗?
我想gamma(lambda,k)
用直方图叠加拟合模型的 PDF。我写的 :
hist(pressure)
curve(dgamma(x, lambda, k), add=TRUE, col="red")
但我对“x”的值是什么感到困惑。有人帮忙吗?
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])
x
是要为其获取 PDF 值的支持值向量。你可能想比较
plot(dgamma(1:20, shape=1))
与http://en.wikipedia.org/wiki/Gamma_distribution的第一个图(参数 1)
truehist()
来自 MASS 包并缩放计数以估计概率密度。
使用lines()
和density()
函数在直方图上叠加权重值的密度图。
library(MASS)
truehist(mtcars$mpg) #mtcars dataset available in base R
lines(density(mtcars$mpg))
更新: Onc 可以使用ggplot2库中的ggplot()
函数绘制相同的图。
图书馆(ggplot2)
ggplot(mtcars, aes(x=mpg)) + geom_histogram(aes(y=..density..), binwidth = 1) + geom_density()