Skip to contents

This function will generate n random points from an inverse gamma distribution with a user provided, .shape, .rate, .scale, and number of random simulations to be produced. The function returns a tibble with the simulation number column the x column which corresponds to the n randomly generated points, the d_, p_ and q_ data points as well.

The data is returned un-grouped.

The columns that are output are:

  • sim_number The current simulation number.

  • x The current value of n for the current simulation.

  • y The randomly generated data point.

  • dx The x value from the stats::density() function.

  • dy The y value from the stats::density() function.

  • p The values from the resulting p_ function of the distribution family.

  • q The values from the resulting q_ function of the distribution family.

Usage

tidy_inverse_gamma(
  .n = 50,
  .shape = 1,
  .rate = 1,
  .scale = 1/.rate,
  .num_sims = 1
)

Arguments

.n

The number of randomly generated points you want.

.shape

Must be strictly positive.

.rate

An alternative way to specify the .scale

.scale

Must be strictly positive.

.num_sims

The number of randomly generated simulations you want.

Value

A tibble of randomly generated data.

Details

This function uses the underlying actuar::rinvgamma(), and its underlying p, d, and q functions. For more information please see actuar::rinvgamma()

Author

Steven P. Sanderson II, MPH

Examples

tidy_inverse_gamma()
#> # A tibble: 50 × 7
#>    sim_number     x      y     dx       dy      p      q
#>    <fct>      <int>  <dbl>  <dbl>    <dbl>  <dbl>  <dbl>
#>  1 1              1 15.3   -2.53  0.000931 0.937  15.3  
#>  2 1              2  0.346 -2.05  0.00431  0.0553  0.346
#>  3 1              3  0.978 -1.57  0.0155   0.360   0.978
#>  4 1              4  0.337 -1.08  0.0433   0.0514  0.337
#>  5 1              5  1.72  -0.604 0.0952   0.558   1.72 
#>  6 1              6  1.47  -0.123 0.165    0.507   1.47 
#>  7 1              7  0.485  0.358 0.230    0.127   0.485
#>  8 1              8  1.59   0.839 0.259    0.533   1.59 
#>  9 1              9  9.16   1.32  0.242    0.897   9.16 
#> 10 1             10  0.712  1.80  0.191    0.245   0.712
#> # ℹ 40 more rows