Create a Categorical distribution
Arguments
- outcomes
A vector specifying the elements in the sample space. Can be numeric, factor, character, or logical.
- p
A vector of success probabilities for each outcome. Each element of
p
can be any positive value – the vector gets normalized internally. Defaults toNULL
, in which case the distribution is assumed to be uniform.
See also
Other discrete distributions:
Bernoulli()
,
Binomial()
,
Geometric()
,
HurdleNegativeBinomial()
,
HurdlePoisson()
,
HyperGeometric()
,
Multinomial()
,
NegativeBinomial()
,
Poisson()
,
PoissonBinomial()
,
ZINegativeBinomial()
,
ZIPoisson()
,
ZTNegativeBinomial()
,
ZTPoisson()
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 3
random(Y, 10)
#> [1] "D" "A" "D" "D" "A" "A" "A" "B" "D" "B"
pdf(X, 1)
#> [1] 0.4
log_pdf(X, 1)
#> [1] -0.9162907
cdf(X, 1)
#> [1] 0.4
quantile(X, 0.5)
#> [1] 2
# cdfs are only defined for numeric sample spaces. this errors!
# cdf(Y, "a")
# same for quantiles. this also errors!
# quantile(Y, 0.7)