Draw random samples from a generalized gamma distribution using the
parameterization from `flexsurv`

. Written in C++
for speed. Equivalent to `flexsurv::rgengamma`

.

fast_rgengamma(n, mu = 0, sigma = 1, Q)

n | Number of random observations to draw. |
---|---|

mu | Vector of location parameters. and columns correspond to rates during specified time intervals. |

sigma | Vector of scale parameters as described in |

Q | Vector of shape parameters. |

A vector of random samples from the generalized gamma distribution. The length of the sample is determined by n. The numerical arguments other than n are recycled so that the number of samples is equal to n.

n <- 1000 m <- 2 ; s <- 1.7; q <- 1 ptm <- proc.time() r1 <- fast_rgengamma(n, mu = m, sigma = s, Q = q) proc.time() - ptm#> user system elapsed #> 0.002 0.000 0.002ptm <- proc.time() library("flexsurv") r2 <- flexsurv::rgengamma(n, mu = m, sigma = s, Q = q) proc.time() - ptm#> user system elapsed #> 0.002 0.000 0.003#> Min. 1st Qu. Median Mean 3rd Qu. Max. #> 0.0000 0.9654 4.2415 11.8841 13.6872 195.9726#> Min. 1st Qu. Median Mean 3rd Qu. Max. #> 0.0000 0.8013 3.7548 12.0234 13.3860 281.9889