受理拒否メソッドを使用してランダム変数を生成する次のユーザー定義関数を作成しました。しかし、呼び出されるたびに私のプログラムが実行され、最終的にクラッシュするか、強制終了する必要があります。私はそれを何度か経験しました。これを引き起こしている可能性のあるものは何ですか?なぜこのプログラムがクラッシュするのですか?
これは、これを書いた最良の方法ではないかもしれないことを知っています(昨日はRを初めて使用しました)ので、追加のヒントはボーナスです!
acceptReject <- function(){
Z <- 0
Y <- c(0,0)
while(Y[2] < .5*(Y[1]-1)**2){
U <- runif(2,0,1)
Y <- log(U)
}
Z <- Y[1]
U <- runif(1,0,1)
if(U <= .5){
Z <- abs(Z)
}
else{
Z <- -abs(Z)
}
Z
}