我知道这可能是最基本的,但我似乎有一个心理障碍。假设您想要计算将4、5或6抛在一个模具上的概率。在R中,这很简单:
sum(1/6, 1/6, 1/6)这给出了1/2的正确答案。然而,在我的脑海中(它可能会保留),我应该能够使用二项分布来实现这一点。我为pbinom和dbinom尝试过各种参数组合,但是我无法得到正确的答案。
抛硬币时,它工作得很好。在有两种以上可能结果的情况下,这是否完全不合适?(我是个程序员,不是统计学家,所以我希望能被这里的统计人员杀了。)
问:如何使用pbinom()或dbinom()计算一卷模具抛出4、5或6的概率?我对程序包和骰子包很熟悉,但我真的想使用内置的发行版之一。
谢谢。
发布于 2016-09-09 03:27:40
正如上面所提到的,掷骰子可以用多项概率来表示.例如,滚动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发布于 2018-04-25 18:00:46
虽然这并不是很明显,但这可以通过在我在CRAN上的包或Github上的另一个pmultinom包中实现的p多项式来实现。
您将其概念化为它不是1、2或3的事件。
P(X_1≤0,X_2≤0,X_3≤0,X_4≤∞,X_5≤∞,X_6≤∞)
其中X_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”函数的和。
https://stackoverflow.com/questions/39402579
复制相似问题