R,使用具有两种以上可能性的二项分布

R, use binomial distribution with more than two possibilities

我知道这可能是初级的,但我似乎有心理障碍。假设您要计算掷出一个骰子时掷出 4、5 或 6 的概率。在 R 中,这很简单:

sum(1/6, 1/6, 1/6)

这给出了正确答案的 1/2。但是,在我的脑海中(它可能应该保留的地方)我应该能够为此使用二项式分布。我尝试了 pbinom 和 dbinom 的各种参数组合,但我无法得到正确的答案。

抛硬币,效果很好。它是否完全不适用于存在两种以上可能结果的情况? (我是程序员,不是统计学家,所以我预计会被这里的统计人员杀死。)

问题:如何使用 pbinom() 或 dbinom() 来计算一次掷骰子掷出 4、5 或 6 的概率?我熟悉 prob 和 dice 包,但我真的想使用其中一种内置发行版。

谢谢。

正如@Alex 上面提到的,掷骰子可以用多项式概率来表示。例如,掷出 4 的概率是

dmultinom(c(0, 0, 0, 1, 0, 0), size = 1, prob = rep(1/6, 6)) 
# [1] 0.1666667

掷出 4、5 或 6 的概率是

X <- cbind(matrix(rep(0, 9), nc = 3), diag(1, 3))
X
#      [,1] [,2] [,3] [,4] [,5] [,6]
# [1,]    0    0    0    1    0    0
# [2,]    0    0    0    0    1    0
# [3,]    0    0    0    0    0    1
sum(apply(X, MAR = 1, dmultinom, size = 1, prob = rep(1/6, 6)))
# [1] 0.5

虽然不是很明显,但这可以用 pmultinom 完成,在 my pmultinom package on CRAN or this other pmultinom package on Github.

中实现

您将其概念化为不是 1、2 或 3 的事件。然后,您将此概率写为

P(X_1 ≤ 0, X_2 ≤ 0, X_3 ≤ 0, X_4 ≤ ∞, X_5 ≤ ∞, X_6 ≤ ∞)

其中 X_i 是第 i 面出现的次数。所有 X 一起服从多项式分布,大小参数为 1,所有概率都等于 1/6。上面的这个概率可以计算(使用我的包)为

pmultinom(upper=c(0, 0, 0, Inf, Inf, Inf), size=1,
          probs=c(1/6, 1/6, 1/6, 1/6, 1/6, 1/6), method="exact")
# [1] 0.5

虽然重新表述有点笨拙,但我喜欢它,因为我更喜欢使用 "p" 函数而不是对 "d" 函数求和。