赋予R中多项式分布的分位数和概率的函数

时间:2015-08-11 05:59:35

标签: r function probability

我希望能够计算R中多项式结果的分位数和概率.R对lock (_lockObject) { cc.Add(someCtrl); } qnorm()等其他分布具有相似的功能。遵循相同的命名方案,我想要pnorm()qmultinom(),因为R已经有pmultinom()rmultinom()。我在互联网上搜索但找不到它们。

对于dmultinom(),假设Y是结果(向量),我想知道导致pmultinom()或更低的所有可能的多项式结果的比例。

2 个答案:

答案 0 :(得分:0)

看看我的包pmultinom

它与您将概率作为输入的定义不匹配,但它类似于例如pbinom。例如,询问二项式结果的概率是< = 5:

pbinom(5, 10, .5)
# [1] 0.6230469
> pmultinom(upper=c(5,Inf), size=10, probs=c(.5, .5), method="exact")
# [1] 0.6230469

当然,您可以改为询问多项分布中的所有三个单元格是否都有计数<= 5:

pmultinom(upper=c(5,5,5), size=10, probs=c(1/2, 1/4, 1/4), method="exact")
# [1] 0.5835915

还有another pmultinom library on Github。看起来我们都基于相同的参考,但我实现了精确计算的建议,而这个包的作者实现了近似计算,所以它可能更快。

答案 1 :(得分:-1)

您是否尝试过logspline套餐?

library(log spline)
b <- rmultinom(10000, size = 100, prob = c(0.1,0.5,0.8))
hist(b, 100)
a <- logspline(b)
plot(a)
qlogspline(.2,a)