Hyperdistinct: Drawing Distinct Categories from a Single Urn

Description Usage Arguments Examples

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

1
2
3
4
5
6
7
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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
## 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)

hint documentation built on Feb. 2, 2022, 5:10 p.m.