値をサンプリングしたいのですが、2 つの値が少なくともwindow
離れていることを要求する制約があります。これは、1 年のサンプリング日と似ていますwindow
が、少なくとも 2 週間間隔を空けるように設定します。これまでのところ、私はこのように試しました
check.diff <- TRUE
window <- 14
while (check.diff == TRUE) {
sampled.session <- sort(sample(1:365, size = 5, replace = FALSE))
check.diff <- any(diff(sampled.session) < window)
}
window
制約が小さい場合、これはうまく機能します。かなり大きな値を指定すると、無限ループになる可能性があります。あらゆる種類のチェックと最大反復回数を挿入できますが、これを攻撃するよりスマートな方法があるかどうか疑問に思っていましたか?