Generates a random factor (i.e. a categorical random variable), given the probabilities of each category and their corresponding labels.

rvcat(n = 1, prob, levels = NULL)

Arguments

n

integer, number of random variables to generate

prob

vector of probabilities of successes of each trial (may be constant or an rv object)

levels

(character) labels for the categories

Value

A random factor of length length(prob).

Details

The length of prob determines the number of bins.

The vector prob will be normalized to have sum 1.

References

Kerman, J. and Gelman, A. (2007). Manipulating and Summarizing Posterior Simulations Using Random Variable Objects. Statistics and Computing 17:3, 235-244.

See also vignette("rv").

See also

Author

Jouni Kerman jouni@kerman.com

Examples


  rvcat(1, prob=c(0.5, 0.3, 0.2)) # default levels: 1, 2, 3
#>        1     2     3 sims
#> [1] 0.47 0.315 0.215  200
  rvcat(1, prob=c(5, 3, 2)) # same as above
#>         1    2     3 sims
#> [1] 0.475 0.33 0.195  200
  p <- rvdirichlet(1, alpha=c(0.7, 0.3)) # prior probabilities
  rvcat(1, prob=p, levels=c("Group 1", "Group 2"))
#>     Group 1 Group 2 sims
#> [1]    0.71    0.29  200