R/utility.R
gammaGetShapeRate.Rd
Convert gamma mean and dispersion parameters to shape and rate parameters
gammaGetShapeRate(mean, dispersion)
A list that includes the shape and rate parameters of the gamma distribution
In simstudy, users specify the gamma distribution as a function of two parameters - a mean and dispersion. In this case, the variance of the specified distribution is (mean^2)*dispersion. The base R function rgamma uses the shape and rate parameters to specify the gamma distribution. This function converts the mean and dispersion into the shape and rate.
set.seed(12345)
mean <- 5
dispersion <- 1.5
rs <- gammaGetShapeRate(mean, dispersion)
c(rs$shape, rs$rate)
#> [1] 0.6666667 0.1333333
vec <- rgamma(1000, shape = rs$shape, rate = rs$rate)
(estMoments <- c(mean(vec), var(vec)))
#> [1] 4.806329 36.893163
(theoryMoments <- c(mean, mean^2 * dispersion))
#> [1] 5.0 37.5
(theoryMoments <- c(rs$shape / rs$rate, rs$shape / rs$rate^2))
#> [1] 5.0 37.5