當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R Hypergeometric 超幾何分布


R語言 Hypergeometric 位於 stats 包(package)。

說明

超幾何分布的密度、分布函數、分位數函數和隨機生成。

用法

dhyper(x, m, n, k, log = FALSE)
phyper(q, m, n, k, lower.tail = TRUE, log.p = FALSE)
qhyper(p, m, n, k, lower.tail = TRUE, log.p = FALSE)
rhyper(nn, m, n, k)

參數

x , q

分位數向量,表示從同時包含黑球和白球的甕中抽取的白球數量,無需放回。

m

甕中白球的數量。

n

甕中黑球的數量。

k

從甕中取出的球的數量,因此必須在 中。

p

概率,它必須在 0 和 1 之間。

nn

觀察次數。如果是 length(nn) > 1 ,則長度被視為所需的數量。

log , log.p

邏輯性;如果為 TRUE,則概率 p 以 log(p) 形式給出。

lower.tail

邏輯性;如果為 TRUE(默認值),則概率為 ,否則為

細節

超幾何分布用於無放回抽樣。該分布的密度,參數為 mnk (在下麵的參考文獻中分別命名為 ,其中 也在其他參考文獻中使用)是(誰)給的

對於

請注意, 僅對於 為非零。

對於 (因此參考文獻符號中的 ),前兩個矩是平均值

和方差

這顯示了與二項式 的接近度(其中超幾何具有較小的方差,除非 )。

分位數定義為 使得 滿足的最小值,其中 是分布函數。

rhyper() 中,如果 之一超過 .Machine$integer.max ,則當前使用等效的 qhyper(runif(nn), m,n,k) ,其速度相對較慢,而二項式近似可能會更有效。

dhyper 給出密度,phyper 給出分布函數,qhyper 給出分位數函數,rhyper 生成隨機偏差。

無效參數將導致返回值 NaN ,並帶有警告。

結果的長度由 rhypern 確定,並且是其他函數的數值參數長度的最大值。

n 之外的數字參數將被回收到結果的長度。僅使用邏輯參數的第一個元素。

例子

m <- 10; n <- 7; k <- 8
x <- 0:(k+1)
rbind(phyper(x, m, n, k), dhyper(x, m, n, k))
all(phyper(x, m, n, k) == cumsum(dhyper(x, m, n, k)))  # FALSE
## but errors are very small:
signif(phyper(x, m, n, k) - cumsum(dhyper(x, m, n, k)), digits = 3)

stopifnot(abs(phyper(x, m, n, k) - cumsum(dhyper(x, m, n, k))) < 5e-16)

來源

dhyper 使用 Catherine Loader 貢獻的代碼通過二項式概率進行計算(請參閱 dbinom )。

phyper 基於計算 dhyperphyper(...)/dhyper(...)(作為求和),基於 Ian Smith 和 Morten Welinder 的想法。

qhyper 基於(早期的 phyper() 算法)的反轉。

rhyper 基於修正版本

Kachitvichyanukul, V. 和 Schmeiser, B. (1985)。計算機生成超幾何隨機變量。統計計算與模擬雜誌,22, 127-145。

參考

Johnson, N. L., Kotz, S., and Kemp, A. W. (1992) Univariate Discrete Distributions, Second Edition. New York: Wiley.

也可以看看

Distributions 適用於其他標準發行版。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 The Hypergeometric Distribution。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。