pmultinom is a library for calculating multinomial
probabilities. The probabilities that can be calculated include the
multinomial cumulative distribution function: \[P(N_1 \le u_1, N_2 \le u_2, \cdots, N_k \le
u_k)\] In this case the usage would be
pmultinom(upper=us, size=n, probs=ps, method="exact")
where us is the vector containing \(u_1, u_2, \cdots, u_k\), and n
and ps are the parameters of the multinomial distribution.
This usage is analogous to the use of pbinom. Another
important case is the probability of seeing more than some minimum
number of observations in each category: \[P(N_1 > l_1, N_2 > l_2, \cdots, N_k >
l_k)\] In this case the usage would be
pmultinom(lower=ls, size=n, probs=ps, method="exact")
where this time ls is the vector containing \(l_1, l_2, \cdots, l_k\). Notice that in
this case these are greater than signs, not greater than or equal signs.
This is analogous to the usage of pbinom with
lower.tail=FALSE. With some creativity, these can be
adapted to calculate the probability that the maximum or minimum of a
multinomial random vector is a given number, or that a given category
will be the most or least observed. pmultinom also supports
a more general usage, in which both lower and upper bounds are
specified: \[P(l_1 < N_1 \le u_1, l_2 <
N_2 \le u_2, \cdots, l_k < N_k \le u_k)\] In this case the
usage would be
pmultinom(lower=ls, upper=us, size=n, probs=ps, method="exact")
See vignette("pmultinom") for the above text in Latex
plus an example application. Many thanks to Aislyn Schalck for advice
and encouragement.