R计算的伽马分布密度错误?

R计算的伽马分布密度错误?,r,numeric,gamma-distribution,R,Numeric,Gamma Distribution,我试图用数值计算边际可能性(在正参数上边际化)。我使用伽马分布作为该参数的先验值。在这里,我查看了两个特定参数设置的Gamma分布行为: s = 28.4; r = 17000 plot(x, dgamma(x, shape=s, rate = r), type = 'l', ylab = 'density') abline(v = s/r, col = 'red') 我得到了以下结果: 然后我尝试了以下方法来获得更紧密的伽马分布: lines(x, dgamma(x, shape=s*10

我试图用数值计算边际可能性(在正参数上边际化)。我使用伽马分布作为该参数的先验值。在这里,我查看了两个特定参数设置的Gamma分布行为:

s = 28.4; r = 17000
plot(x, dgamma(x, shape=s, rate = r), type = 'l', ylab = 'density')
abline(v = s/r, col = 'red')
我得到了以下结果:

然后我尝试了以下方法来获得更紧密的伽马分布:

lines(x, dgamma(x, shape=s*1000, rate = r*1000), col = 'blue')
结果是:


我很困惑。随着分布越来越紧密,高度应该越来越高,否则该区域将无法整合为1。我错过什么了吗?还是有数字上的问题?谢谢

您的
x
变量需要更多样本才能捕获第二个密度函数中的窄峰:

x = seq(0, .01, .000001)
s = 28.4; r = 17000
plot(x, dgamma(x, shape=s, rate = r), type = 'l', ylab = 'density')
abline(v = s/r, col = 'red')
lines(x, dgamma(x, shape=s*1000, rate = r*1000), col = 'blue')