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

时间:2016-09-09 01:42:28

标签: r probability binomial-cdf

我知道这可能是基本的,但我似乎有心理障碍。让我们假设您想要计算在一个骰子上掷出4,5或6的概率。在R中,它很容易:

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

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

投掷硬币,效果很好。对于有两种以上可能结果的情况,这完全不合适吗? (我是一名程序员,而不是统计学家,所以我期待在这里被统计人员杀死。)

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

感谢。

2 个答案:

答案 0 :(得分:3)

正如上面提到的@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

答案 1 :(得分:1)

虽然不是很明显,但可以使用pmultinom完成,可以在my pmultinom package on CRANthis 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。上述概率可以(使用我的包)计算为

<meta name="viewport" content="width=device-width, initial-scale=1">

虽然这是一个尴尬的重新制定,但我喜欢它,因为我更喜欢使用“p”函数,而不是采用“d”函数的总和。

相关问题