Bonjour,
je cherche comment réaliser un tirage aléatoire de nombre selon une loi uniforme sans remise. Pour faire simple, disons que j'ai une table avec x lignes et pour chaque ligne une valeur min et une valeur max. ex :
table =
id min max
1 1 10
2 1 15
3 1 8 ...
J'aimerais pour chaque ligne tirer 3 chiffres DIFFERENTS compris entre le min et max de la ligne. Avec la fonction ranuni j'y arrive mais il peut me tirer plusieurs fois le meme chiffre pour une ligne donnée. J'utilise le code ci-dessous :
qui marche très bien, cela me duplique mes lignes 3 fois avec un chiffre compris entre 1 et le max mais il n'est pas sans remise.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 data tirage (drop=i); set table; do i=1 to 3; tirage=int(ranuni(45123)*max)+1; output; end; run;
Je n'ai rien trouver sur internet pour faire cela...
Merci de votre aide !
Partager