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