在R中将变量转换为伽玛分布

时间:2014-06-01 03:54:42

标签: r gamma-distribution

我有一个变量,我想转换为具有已知形状和速率参数的伽玛分布。如何将变量转换为R中的gamma分布?我已经查看了dgamma,pgamma和qgamma函数,但我无法判断是否有任何符合我想要的函数。

这是一个小例子:

variable <- rnorm(100)
shape <- .83
rate <- .01

注意:我意识到这个例子使用了正态分布的数据(它不适合伽马分布),但我需要将变量重新缩放到原始的伽马分布。

1 个答案:

答案 0 :(得分:8)

使用分布和分位数函数进行翻译:

qgamma(pnorm(variable), shape=.83, rate=.01)

这假设variable的平均值为0,sd 1(就像你的例子一样)。否则,您可以将mean和sd传递给pnorm

要看转型:

plot(density(variable))

enter image description here

plot(density(qgamma(pnorm(variable), shape=.83, rate=.01)))

enter image description here