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


R Multinom 多項式分布

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

說明

生成多項分布的隨機數向量並計算多項概率。

用法

rmultinom(n, size, prob)
dmultinom(x, size = NULL, prob, log = FALSE)

參數

x

0:size 中整數的長度為 的向量。

n

要繪製的隨機向量的數量。

size

整數,例如 ,指定在典型多項式實驗中放入 框中的對象總數。對於 dmultinom ,默認為 sum(x)

prob

長度為 的數值非負向量,指定 類的概率;內部標準化為總和 1。不允許出現無限值和缺失值。

log

邏輯性;如果為 TRUE,則計算對數概率。

細節

如果 x 分量向量,則 dmultinom(x, prob) 是概率

其中 是“多項式係數” .
根據定義,每個組件 二項分布為Bin(size, prob[j])為了 .

rmultinom() 算法從 中依次提取二項式 ,其中 (N := size )、 ( prob 縮放至和 1),對於 ,遞歸地,

對於 rmultinom() ,整數 矩陣,其中每列都是根據所需多項式定律生成的隨機向量,因此求和為 size 。雖然轉置結果一開始看起來更自然,但由於按列存儲,返回的矩陣更有效。

注意

dmultinom 目前根本沒有矢量化,也沒有 C 接口 (API);將來可能會對此進行修改。

例子

rmultinom(10, size = 12, prob = c(0.1,0.2,0.8))

pr <- c(1,3,6,10) # normalization not necessary for generation
rmultinom(10, 20, prob = pr)

## all possible outcomes of Multinom(N = 3, K = 3)
X <- t(as.matrix(expand.grid(0:3, 0:3))); X <- X[, colSums(X) <= 3]
X <- rbind(X, 3:3 - colSums(X)); dimnames(X) <- list(letters[1:3], NULL)
X
round(apply(X, 2, function(x) dmultinom(x, prob = c(1,2,5))), 3)

也可以看看

Distributions 用於標準發行版,包括 dbinom,這是概念上的特殊情況。

相關用法


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