Welche JMP-Funktion kann eine sich nicht wiederholende Ganzzahl zwischen zwei Werten generieren?Ich habe „Random Integer()“ ausprobiert, aber es erzeugt doppelte Ganzzahlen. Danke!
DatentabelleBetreff: Welche JMP-Funktion kann eine sich nicht wiederholende ganze Zahl zwischen zwei Werten erzeugen?Und noch anders:
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 ) );Betreff: Welche JMP-Funktion kann eine sich nicht wiederholende ganze Zahl zwischen zwei Werten erzeugen?@lwx228 ,
Dies ist nur eine alternative Methode, die sich auf die JMP-Funktion Random Shuffle stützt
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));
Angesichts von Jims eleganter Funktion kam ich mir wie ein Faulpelz vor. [grins] Das angehängte Skript enthält eine Funktion, die diese Range/Shuffle/Subset-Methode verwendet.Jim, @txnelson , Ihr Funktionsname war genau richtig, also habe ich ihn verwendet.
' Nachahmung ist die aufrichtigste Form von Schmeichelei dass Mittelmäßigkeit Größe zahlen kann.' - Oscar Wilde
Betreff: Welche JMP-Funktion kann eine sich nicht wiederholende ganze Zahl zwischen zwei Werten erzeugen?Ich glaube nicht, dass es eine solche Funktion in JMP gibt, aber es ist sehr einfach, eine zu erstellen
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)