下面的 R 代码只给了我正态分布的一半;为了得到另一半,我应该对代码进行什么更改?
halfnormal <- function(n){
vector <- rep(0,n)
for(i in 1:n){
uni_random <- runif(2)
y <- -log(uni_random)
while(y[2] < (y[1]-1)^2/2){
uni_random <- runif(2)
y <- -log(uni_random)
}
vector[i] <- y[1]
}
vector
}
output <- halfnormal(1000)
hist(output)