我有一个变量,我想转换为具有已知形状和速率参数的伽玛分布。如何将变量转换为R中的gamma分布?我已经查看了dgamma,pgamma和qgamma函数,但我无法判断是否有任何符合我想要的函数。
这是一个小例子:
variable <- rnorm(100)
shape <- .83
rate <- .01
注意:我意识到这个例子使用了正态分布的数据(它不适合伽马分布),但我需要将变量重新缩放到原始的伽马分布。
答案 0 :(得分:8)
使用分布和分位数函数进行翻译:
qgamma(pnorm(variable), shape=.83, rate=.01)
这假设variable
的平均值为0,sd 1(就像你的例子一样)。否则,您可以将mean和sd传递给pnorm
。
要看转型:
plot(density(variable))
plot(density(qgamma(pnorm(variable), shape=.83, rate=.01)))