2 つの値の間に重複しない整数を生成できる JMP 関数はどれですか?「Random Integer()」を試しましたが、重複した整数が生成されます。ありがとうございます!
データのブレンドとクリーンアップRe: 2 つの値の間で重複しない整数を生成できる JMP 関数はどれですか?別の方法:
Names Default to Here( 1 );
random order = Function( { min, max },
min = Floor( min ); max = Floor( max );
Index( min, max )[Rank( J( max-min+1, 1, Random Uniform() ) )];
);
Show( random order( 5, 10 ) );Re: 2 つの値の間で重複しない整数を生成できる JMP 関数はどれですか?@lwx228 ,
これはJMP関数のランダムシャッフルに頼った代替方法です。
Names Default to Here(1);
ibeg = 257;
iend = 500;
random_all = As List( Random Shuffle( Transpose(ibeg::iend) ) );
//suppose you only want 100
vals = random_all[1::100];
show(random_all, nitems(random_all), iend-ibeg+1 );
show(vals, nitems(vals));
Jim のエレガントな関数を見ると、自分が怠け者のように感じました。[笑] 添付のスクリプトには、この範囲/シャッフル/サブセット メソッドを使用する関数が含まれています。Jim、 @txnelson 、あなたの関数名はぴったりだったので、それを使用しました。
'模倣最も誠実な形である世辞平凡さは偉大さにつながる。 - オスカー・ワイルド
Re: 2 つの値の間で重複しない整数を生成できる JMP 関数はどれですか?JMPにそのような機能があるとは思いませんが、作成するのは非常に簡単です。
Names Default To Here( 1 );
uniqueRandomInteger = Function( {n, min, max},
{defaultlocal},
hold = [];
For( i = 1, i <= n, i++,
val = Random Integer( min, max );
While( N Rows( Loc( hold, val ) ) > 0,
val = Random Integer( min, max )
);
hold = hold |/ Matrix( val );
);
hold;
);
x=uniqueRandomInteger(10,100,200)