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.261 -0.609  0.00154 0.124 0.261
#>  2 1              2 0.457 -0.492  0.00657 0.326 0.457
#>  3 1              3 4.41  -0.374  0.0229  0.985 4.41 
#>  4 1              4 1.15  -0.257  0.0655  0.723 1.15 
#>  5 1              5 2.06  -0.139  0.154   0.892 2.06 
#>  6 1              6 0.280 -0.0218 0.299   0.144 0.280
#>  7 1              7 4.05   0.0958 0.486   0.980 4.05 
#>  8 1              8 0.531  0.213  0.666   0.391 0.531
#>  9 1              9 1.86   0.331  0.782   0.869 1.86 
#> 10 1             10 0.416  0.448  0.803   0.286 0.416
#> # ℹ 40 more rows