我需要使用R中的TeachingDemos软件包找到95%的HPD区域。我有一个遵循伽马分布的后验分布。
安装软件包并输入库(TeachingDemos)后,
我做了:
a = 200
b = 20
hpd(qgamma,shape1=a,shape2=b, conf=0.95)
(a和b是Gamma分布的α和β值)
运行代码时,我不断收到以下错误消息:
Error in posterior.icdf(1 - conf + x, ...) :
unused arguments (shape1 = 200, shape2 = 20)
我是使用R的新手,所以我做错了什么?
答案 0 :(得分:1)
hpd
的签名是
hpd(posterior.icdf, conf=0.95, tol=0.00000001,...)
文档说明...
是“传递给后路的其他参数。”这意味着,在hpd
内的某处,有一行看起来像
posterior.icdf(x, ...)
其中...
只是传递给hpd`` apart from
conf and
tol`的参数。
如果查看qbeta
的函数签名,您会看到它有参数shape1
和shape2
。然而,如果你看qgamma
,你会发现那些不是有效的参数名称。
如果直接使用这些参数调用qgamma
,您将收到相同的错误消息,例如
qgamma(0.5, shape1=200, shape2=20)