我一直在努力寻找等效于MATLAB gaminv
函数的R。据我所知,R中没有任何软件包/函数可以完全完成`gaminv的工作。我也不知道如何自己编写代码。任何指导/建议将不胜感激。
给我们一个link to the documentation将有帮助:
x = gaminv(p,a,b)返回伽玛分布的icdf [逆累积分布函数],形状参数为a,比例参数为b,以p中的值求值。
逆累积分布函数也称为quantile function:这些函数在R中表示为q<distname>
。特别地,qgamma
是伽马分布的分位数函数:?qgamma
状态的定义
qgamma(p,shape,rate = 1,scale = 1 / rate,lower.tail = TRUE, log.p = FALSE)
尤其要注意,默认情况下,R函数是使用速率参数化的:如果指定qgamma(0.5, shape=2, 2)
,则将获得速率为2(刻度1/2)的函数值。如果要缩放比例参数化,则需要qgamma(0.5, shape=2, scale=2)
。
[我已经使用任意示例确认了gaminv(0.5,2,2)
(在八度中,因为我没有Matlab,所以给出的答案与qgamma(0.5,2,scale=2)
相同。
您可以尝试从inverse cumulative function开始,如果这不是您想要的,我建议研究累积求逆的整个理论基础,并尝试首先将其应用于非功能性语言,然后将其集成到R,或者只是阅读原始MatLab函数中编写的内容,然后尝试在R]中重现