0,1間の一様乱数を発生させ、その値がzを超えるまでに発生したすべての乱数を発生順に要素とするベクトルを生成する関数をつくりたいのですが、4月8日に質問したところ以下のコードを教えていただきました。しかしながら、、下のように実行すると結果のベクトルが3個以上出てきません。原因を教えてください。
rand_q<-function(z){
s<- runif(1)
repeat{
if (max(s) <= z)
{s<- c(s,runif(1))}
else break
}
return(s)
}
rand_v(0.99)
結果
rand_v(0.99)
[1] 0.8019299 0.3437487
回答1件
あなたの回答
tips
プレビュー