binomial <- function(nmax = 100,
thr = 0.95,
alpha = 1,
beta = 1,
p_true = 0.5,
p_0 = 0.5){
for(j in seq.int(nmax, 0)){
if(pbeta(q = p_0, shape1 = alpha + j, shape2 = beta + nmax - j, lower.tail = FALSE) < thr){
targetatnmax <- j + 1
} else {
print(
break
}
}
result <- list(Success = Success, targeratnmax = targetatnmax)
return(result)
}
res = binomial(nmax,thr,alpha,beta,p_true,p_0)
res
私のプログラムでは、0.95 thr を超えるために必要な成功の数を見つけようとしています。if else ステートメントで for ループを使用しようとしていますが、実行すると必要な値が得られません。値が 59 であることはわかっていますが、これを取得できないようです。コードが本当に乱雑に見えることはわかっていますが、それは私が何時間もそれをいじっていたからにすぎません。助けてください