我对binom.test的操作感到困惑。
比如说我想要测试一个样本,成功率为4/10,检验值为p=0.5。 P值应该是:
P(X <= 4) + P(X >=6) 或 P(X <= 4) + 1-P(X <= 5)
实际上:
>pbinom(4,10,p=0.5) + 1-pbinom(5,10,0.5)
[1] 0.7539063
或者:
>binom.test(4,10,p=0.5)
Exact binomial test
data: 4 and 10
number of successes = 4, number of trials = 10, p-value = 0.7539
现在我想测试一个样本的95/150与p=0.66的比较。在这里,期望值为99,所以P值应该是
P(X <= 95) + P(X >= 103) 或者 P(X <= 95) + 1-P(X <= 102)
即
>pbinom(95,150,.66) + 1-pbinom(102,150,.66)
[1] 0.5464849
但是
>binom.test(95,150,.66)
Exact binomial test
data: 95 and 150
number of successes = 95, number of trials = 150, p-value = 0.4914
事实上,两个P值之间的差异正好是
dbinom(103,150,.66)
。因此,看起来R未能包括X=103。我唯一能猜测的解释是,由于.66的不精确表示导致的四舍五入误差使R刚好错过了X=103。这就是全部吗?还是还有其他事情发生了?