| Hyperdistinct {hint} | R Documentation | 
Drawing Distinct Categories from a Single Urn
Description
Density, distribution function, quantile function and random generation for the distribution of distinct categories drawn from a single urn in which there are duplicates in q of the categories.
Usage
dhydist(n, a, q, range = NULL, log = FALSE)
phydist(n, a, q, vals, upper.tail = TRUE, log.p = FALSE)
qhydist(p, n, a, q, upper.tail = TRUE, log.p = FALSE)
rhydist(num = 5, n, a, q)
Arguments
| n | An integer specifying the number of categories in the urn. | 
| a | An integer specifying the number of balls drawn from the urn. | 
| q | An integer specifying the number of categories in the urn which have duplicate members. | 
| range | A vector of integers specifying the intersection sizes for which probabilities (dhydist) or cumulative probabilites (phydist) should be computed (can be a single number). If range is NULL (default) then probabilities will be returned over the entire range of possible values. | 
| log | Logical. If TRUE, probabilities p are given as log(p). Defaults to FALSE. | 
| vals | A vector of integers specifying the intersection sizes for which probabilities (dhydist) or cumulative probabilites (phydist) should be computed (can be a single number). If range is NULL (default) then probabilities will be returned over the entire range of possible values. | 
| upper.tail | Logical. If TRUE, probabilities are P(X >= c), else P(X <= c). Defaults to TRUE. | 
| log.p | Logical. If TRUE, probabilities p are given as log(p). Defaults to FALSE. | 
| p | A probability between 0 and 1. | 
| num | An integer specifying the number of random numbers to generate. Defaults to 5. | 
Examples
## Generate the distribution of distinct categories drawn from a single urn.
dd <- dhydist(20, 10, 12)
## Restrict the range of intersections.
dd <- dhydist(20, 10, 12, range = 5:10)
## Generate cumulative probabilities.
pp <- phydist(29, 15, 8, vals = 5)
pp <- phydist(29, 15, 8, vals = 2, upper.tail = FALSE)
## Extract quantiles:
qq <- qhydist(0.15, 23, 12, 10)
## Generate random samples based on this distribution.
rr <- rhydist(num = 10, 18, 9, 12)