2

我认为这是一个相当普遍的问题,但我找不到解决方案。

我想求解以下方程:pbinom(18,25,p)=0.05。

有没有办法用程序 R 找到未知的 p?

感谢您的每一次帮助。

4

2 回答 2

2

寻根:

print(
  res <- uniroot(function(p) pbinom(18,25,p) - 0.05, c(0, 1), 
          tol = .Machine$double.eps)
)

pbinom(18,25,res$root)
#[1] 0.05
于 2020-06-17T13:29:37.813 回答
0

蛮力:

p = 0.0001 # starting point
while (abs(pbinom(18,25,p) -  0.05) > 0.001) p <- p + 0.001

此代码针对 p 的不同值评估 pdf,直到您“足够接近”到 0.05。这里“足够接近”是指在 0.001 范围内。

> p
[1] 0.8601
> pbinom(18,25,0.8601)
[1] 0.05070763
于 2020-06-17T13:33:00.813 回答