我正在学习如何使用R.我正在练习一些统计资料,如正态分布,泊松等。
当我尝试计算概率并且答案是非常接近零(0)的数字时,程序显示为0,因此我无法看到完整的答案,我需要完整的答案。总是存在概率,即使是小概率!!
我的问题是:我可以关闭自我逼近或使用哪些代码来获得完整答案吗?
示例:
1-pbinom(q =10, size = 10,prob = 0.8)
结果:
0
答案 0 :(得分:3)
pbinom
函数给出累积密度函数。我是一个值小于或等于特定值的概率。所以使用离散分布,如二次分布,有10次绘制
pbinom(10, 10, .8)
# [1] 1
告诉您,如果有100%的变化,您将会观察到10次或更少的成功。
也许您正在考虑概率密度函数(或概率质量函数,因为这是一个离散分布)dbinom
dbinom(10, 10, .8)
# [1] 0.1073742
意味着你所有的抽奖都有大概11%的成功率。
也是如此sum(dbinom(0:10, 10, .8))
# [1] 1
得到0到的概率之和恰好是1。
因此,在这些情况下,您将得到确切的答案。 R根据options(digits=)
设置在控制台中进行舍入值,但这不是这里发生的事情。
答案 1 :(得分:0)
pbinom
是二项分布的分布函数,它是离散的,因此可以精确为1(如您的示例所示)。您可能一直在考虑连续分布,例如正态分布或伽玛分布。在这种情况下,舍入可能会导致结果被截断,例如
> 1 - pnorm(10, 0, 1)
[1] 0
但是,p[dist]
函数有一个参数lower.tail=FALSE
旨在解决此问题:
> pnorm(10, 0, 1, lower.tail=FALSE)
[1] 7.619853e-24