Skip to contents

This function will generate n random points from a generalized Pareto distribution with a user provided, .shape1, .shape2, .rate or .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_generalized_pareto(
  .n = 50,
  .shape1 = 1,
  .shape2 = 1,
  .rate = 1,
  .scale = 1/.rate,
  .num_sims = 1,
  .return_tibble = TRUE
)

Arguments

.n

The number of randomly generated points you want.

.shape1

Must be positive.

.shape2

Must be positive.

.rate

An alternative way to specify the .scale argument

.scale

Must be positive.

.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::rgenpareto(), and its underlying p, d, and q functions. For more information please see actuar::rgenpareto()

Author

Steven P. Sanderson II, MPH

Examples

tidy_generalized_pareto()
#> # A tibble: 50 × 7
#>    sim_number     x     y     dx       dy     p     q
#>    <fct>      <int> <dbl>  <dbl>    <dbl> <dbl> <dbl>
#>  1 1              1 0.945 -1.95  0.000861 0.486 0.945
#>  2 1              2 1.29  -1.06  0.0278   0.563 1.29 
#>  3 1              3 0.563 -0.162 0.184    0.360 0.563
#>  4 1              4 0.451  0.732 0.300    0.311 0.451
#>  5 1              5 0.475  1.63  0.201    0.322 0.475
#>  6 1              6 2.17   2.52  0.142    0.684 2.17 
#>  7 1              7 0.758  3.41  0.0805   0.431 0.758
#>  8 1              8 1.58   4.31  0.0469   0.613 1.58 
#>  9 1              9 2.75   5.20  0.0398   0.734 2.75 
#> 10 1             10 5.88   6.10  0.0247   0.855 5.88 
#> # ℹ 40 more rows