131Spaghetti Plots
%let sd = 3.5;
%let seed = 07;
proc format;
value trtdf
1 = ‘Active Control’
2 = ‘New Drug’
OTHER = ‘ ’;
value visdf
1 = ‘Baseline’
2 = ‘Day 1’
3 = ‘Day 3’
4 = ‘Day 7’;
value timedf
1, 4, 7, 10 = ‘8 AM’
2, 5, 8, 11 = ‘10 AM’
3, 6, 9, 12 = ‘4 PM’
OTHER = ‘ ’;
run;
** Generate the required number of subjects and randomly
assign to two treatments;
data subj;
label trtnum = “Treatment”;
do i = 1 to &subjnum.;
subjid = 1000+ i;
if ranuni (&seed.) < = 0.5 then trtnum = 1;
else trtnum = 2;
output;
end;
drop i;
run;
proc freq data = subj noprint;
table trtnum/out = subj_trt;
run;
** Save the subject number at each treatment group to macro
variables for later use;
data _null_;
set subj_trt;
if trtnum = 1 then call symput (“N_Trt1”, ...