R中是否有一个函数或包可以从分位数和概率中获得泊松分布的lambda?

col*_*ang 0 r

例如,F(X = 2 | lambda = 2.3) = 0.596我知道2和0.596,我想得到lambda.

我知道我可以通过数值逼近算法来做到这一点.

然而,在我手动创建一个函数之前,是否有一个我可以简单使用的现有函数?

更新

遗憾的是我必须使用数值方法.我原以为有一种流行的着名分析方法/封闭形式.

Ric*_*ton 6

优化可能是解决这个问题的方法.

f <- function(lambda) abs(ppois(2, lambda) - 0.5960388)
optimize(f, c(0, 10))
Run Code Online (Sandbox Code Playgroud)

或者,正如Ben B所说,

f2 <- function(lambda) ppois(2, lambda) - 0.5960388
uniroot(f2, c(0, 10))
Run Code Online (Sandbox Code Playgroud)

  • (我看到你使用`abs()`,所以`optimize`应该可以工作,但我认为`f < - function(lambda)ppois(2,lambda) - 0.5960388); uniroot(f,0,10)`会更好......) (2认同)