BookmarkSubscribeRSS Feed
azt5173
Obsidian | Level 7

My data has 3 treatments(A,B,C). I need to allocate the subject to the treatment according to a 2:1:2 randomization ratio based on a random number generated from a uniform(0,1) distribution. This is the code I have so far, I just need one random treatment for the subject, I can come up with a random number from the code but no idea how to get the treatment incorporated into it. Data set dynamic contains all of the treatments in a 2:1:2 ratio. 

 

Data A;
set dynamic;
do i=1 to 1;
call streaminit(123);
u=rand("Uniform");
output;
end;

 

Any help will be appreciated. Thank you. 
run;

 

1 REPLY 1
PGStats
Opal | Level 21

As @freelanceReinhard told you yesterday, use proc surveyselect with option groups=.

 

If that approach doesn't work for you, please tell us why.

PG

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 1007 views
  • 0 likes
  • 2 in conversation