在R中,有没有办法计算伽玛分布的规模和形状,给定一个特定的均值(或中位数)和一个特定的分位数(95%分位数)?
例如,我有一个 mean = 130
和 95%分位数= 300
在 80
的分布偏移有没有办法获得符合这些标准的伽玛的比例和形状?
答案 0 :(得分:3)
这是一种方法:
myfun <- function(shape) {
scale <- 130/shape
pgamma(300, shape, scale=scale) - 0.95
}
tmp <- uniroot( myfun, lower=2, upper=10 )
myshape <- tmp$root
myscale <- 130/tmp$root
qgamma(0.95, shape=myshape, scale=myscale)
integrate( function(x) x*dgamma(x,shape=myshape,scale=myscale),
lower=0, upper=Inf )
我不确定80的偏移量是什么意思,如果只是伽玛变为非零的地方,那么从130和300中减去80,并按照上述相同的方式进行。