uniroot コマンドについて質問があります。以下の例の 2 番目のケースで結果が毎回異なる理由がわからないため、論理的な方法で質問を提起することはできません。最初のケースでは、私の f 関数の結果は常に同じです:
library(mvtnorm)
f <- function(y1_upr,y2_upr = -0.05453663,target = 25e-4,df=3) {
pmvt(upper = c(y1_upr,y2_upr),df = df) - target
}
uniroot(f,c(-10000,10000))$root
しかし、同じ関数に別の引数を追加すると、結果が毎回変わる理由がわかりません (以下を参照)。
g <- function(y1_upr,
y2_upr = -0.05453663,
y3_upr = -0.06236616,
target = 25e-4,
df = 3) {
pmvt(upper = c(y1_upr,y2_upr,y3_upr),df = df) - target
}
uniroot(g,c(-10000,10000))$root
g 関数を使用して uniroot コマンドを適用するたびに、異なる結果が得られることがわかります。誰かがそれについて考えを持っていますか? 結果を修正する方法を見つけることはできますか?