Skip to contents

This function will generate n random points from an Inverse Gaussian distribution with a user provided, .mean, .shape, .dispersionThe function returns a tibble with the simulation number column the x column which corresponds to the n randomly generated points.

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_normal(
  .n = 50,
  .mean = 1,
  .shape = 1,
  .dispersion = 1/.shape,
  .num_sims = 1,
  .return_tibble = TRUE
)

Arguments

.n

The number of randomly generated points you want.

.mean

Must be strictly positive.

.shape

Must be strictly positive.

.dispersion

An alternative way to specify the .shape.

.num_sims

The number of randomly generated simulations you want.

.return_tibble

A logical value indicating whether to return the result as a tibble. Default is TRUE.

Value

A tibble of randomly generated data.

Details

This function uses the underlying actuar::rinvgauss(). For more information please see rinvgauss()

Author

Steven P. Sanderson II, MPH

Examples

tidy_inverse_normal()
#> # A tibble: 50 × 7
#>    sim_number     x     y      dx       dy      p     q
#>    <fct>      <int> <dbl>   <dbl>    <dbl>  <dbl> <dbl>
#>  1 1              1 0.511 -0.780  0.000677 0.375  0.511
#>  2 1              2 0.572 -0.630  0.00312  0.425  0.572
#>  3 1              3 0.982 -0.481  0.0116   0.661  0.982
#>  4 1              4 0.556 -0.332  0.0355   0.412  0.556
#>  5 1              5 2.95  -0.183  0.0894   0.951  2.95 
#>  6 1              6 0.225 -0.0338 0.187    0.0876 0.225
#>  7 1              7 0.862  0.115  0.329    0.607  0.862
#>  8 1              8 0.471  0.265  0.488    0.339  0.471
#>  9 1              9 0.590  0.414  0.618    0.439  0.590
#> 10 1             10 1.26   0.563  0.675    0.754  1.26 
#> # ℹ 40 more rows