Create a Categorical distribution

Categorical(outcomes, p = NULL)

## Arguments

outcomes A vector specifying the elements in the sample space. Can be numeric, factor, character, or logical. A vector of success probabilities for each outcome. Each element of p can be any positive value -- the vector gets normalized internally. Defaults to NULL, in which case the distribution is assumed to be uniform.

## Value

A Categorical object.

Other discrete distributions: Bernoulli, Binomial, Geometric, HyperGeometric, Multinomial, NegativeBinomial, Poisson

## Examples


set.seed(27)

X <- Categorical(1:3, p = c(0.4, 0.1, 0.5))
X#> Categorical distribution
#>   outcomes = [1, 2, 3]
#>   p = [0.4, 0.1, 0.5]
Y <- Categorical(LETTERS[1:4])
Y#> Categorical distribution
#>   outcomes = [A, B, ..., D]
#>   p = [0.25, 0.25, ..., 0.25]
random(X, 10)#>  [1] 2 3 1 3 3 3 3 3 3 3random(Y, 10)#>  [1] "D" "A" "D" "D" "A" "A" "A" "B" "D" "B"
pdf(X, 1)#> [1] 0.4log_pdf(X, 1)#> [1] -0.9162907
cdf(X, 1)#> [1] 0.4quantile(X, 0.5)#> [1] 2# \donttest{
# cdfs are only defined for numeric sample spaces. this errors!
cdf(Y, "a")#> Error: The sample space of x must be numeric to evaluate the cdf.
# same for quantiles. this also errors!
quantile(Y, 0.7)#> Error: The sample space of x must be numeric to evaluate quantiles.# }