0
我創建了以下用戶定義的函數,它使用Acceptance-Rejection方法生成隨機變量。然而,每當它被調用時,我的程序就會繼續,最終崩潰或者我不得不強制退出。我經歷了幾次。任何想法可能會導致這種情況?爲什麼這會導致我的程序崩潰?
我知道,這可能不是寫這個的最好方法(昨天是我第一次使用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
}