preserve. set printback=on. * SIMPLE AND COMPLEX RANDOM ASSIGNMENT IN EXPERIMENTAL DESIGNS Valentim R. Alferes, University of Coimbra (Portugal), 2009. * SimpleRand4.sps - Simple Random Assignment (Unequal probabilities). set printback=off. set ovars labels onumbers values tvars labels tnumbers values. set errors=none. oms/select tables/if commands=["summarize"] subtypes=["case processing summary"]/destination viewer=no. data list list/Treatment(f8.0) p(f8.3). * Enter Treatment number and desired assignment probability. begin data 1 .20 2 .35 3 .45 end data. summarize/tables=treatment p/format=validlist nocasenum nototal /title='Theoretical Probabilities \n of Assignment'/cells=none. compute k=rnd(p*10**6). execute. loop x=1 to k. xsave outfile='%temp%\outfx'/keep=Treatment. end loop. execute. get file='%temp%\outfx'. execute. set rng=mt mtindex=random. compute random=uniform(1). execute. sort cases by random (a). * Replace "?" by the number of units per study. n of cases ?. execute. compute Unit=$casenum. execute. formats all(f8.0). oms/select tables/if commands=["crosstabs"] subtypes=["case processing summary"]/destination viewer=no. summarize/tables=unit treatment/format=validlist nocasenum nototal /title='Simple Random Assignment \n Sorted by Unit'/cells=none. sort cases by treatment(a) Unit(a). summarize/tables=unit treatment/format=validlist nocasenum nototal /title='Simple Random Assignment \n Sorted by Treatment'/cells=none. summarize/tables=unit by treatment/format=nolist total /title='Number of Units per Treatment'/cells=count npct. restore.