Skip to contents

Generate stochastic sequences of package adoption to help demonstrate Sankey diagrams. Each simulation begins from current packages and explores removals and additions until all packages in int have been visited.

Usage

simulate(
  n,
  int = c("cm", "itn", "smc", "vx", "irs"),
  current = c("cm", "itn"),
  weights = c(itn = 0.6, smc = 0.4, vx = 0.2, irs = 0.5)
)

Arguments

n

Number of independent simulations to draw.

int

Character vector giving the ordered set of all possible packages.

current

Character vector of packages present at the baseline step.

weights

Named numeric vector of selection probabilities for packages in int. Values should lie between 0 and 1.

Value

A tibble containing one row per step and simulation id.

Examples

set.seed(1)
simulate(2)
#> # A tibble: 10 × 4
#>     step package               changed    id
#>    <dbl> <chr>                 <chr>   <int>
#>  1    -1 cm                    itn         1
#>  2     0 cm, itn               NA          1
#>  3     1 cm, itn, irs          irs         1
#>  4     2 cm, itn, smc, irs     smc         1
#>  5     3 cm, itn, smc, vx, irs vx          1
#>  6    -1 cm                    itn         2
#>  7     0 cm, itn               NA          2
#>  8     1 cm, itn, vx           vx          2
#>  9     2 cm, itn, smc, vx      smc         2
#> 10     3 cm, itn, smc, vx, irs irs         2