3
我正在使用R并试图计算未知的lambda。已知是泊松分布中的一个区域。计算给定的Lambda
x <- cbind("q" = rpois(n = 4, lambda = 3), "ppois" = runif(n = 4), "lambda_unknown" = rep(NA, times = 4))
x
# q ppois lambda_unknown
# [1,] 4 0.05207818 NA
# [2,] 5 0.61127960 NA
# [3,] 3 0.83317758 NA
# [4,] 4 0.94495935 NA
我想一个功能,可以帮助我计算我未知的拉姆达如此 “ppois”= ppois(Q = Q, “lambda_unknown”)
期望的(大致)输出:
x
# q ppois lambda_unknown
# [1,] 4 0.05 ~9.15
# [2,] 5 0.61 ~5.02
# [3,] 3 0.83 ~1.4
# [4,] 4 0.94 ~2.05
最后一行为例:
ppois(4, 2.05)
# [1] 0.9427231
完美的作品,非常感谢!一个问题,我可能会错过一些东西,但我想使用这样的功能。 x $ lambda < - approx(q = x $ q,p = x $ ppois,epsilon = 0.01)。这个命令只给我第一行的lambda和后面的14条错误消息。我是否必须创建一个循环才能工作? –
您将不得不使用apply函数来工作。例如,当你的x是一个矩阵时,我们可以做'x [,'lambda_unknown'] < - apply(x,1,function(x){approx(x [1],x [2],0.01)}) '。 – Matthew
我编辑了答案来添加这个额外的细节。 – Matthew